diff options
Diffstat (limited to 'tests/config/new.c')
-rw-r--r-- | tests/config/new.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/config/new.c b/tests/config/new.c index dd6dbca9e..3b38a4817 100644 --- a/tests/config/new.c +++ b/tests/config/new.c @@ -30,3 +30,24 @@ void test_config_new__write_new_config(void) p_unlink(TEST_CONFIG); } + +#define TEST_DIR "perm-dir" + +void test_config_new__maybe_fail_on_access(void) +{ + git_config *config; + + cl_git_mkfile(TEST_CONFIG, "[core]\nfoo = 4"); + + cl_git_pass(git_config_open_ondisk(&config, TEST_CONFIG)); + git_config_free(config); + + cl_git_pass(p_chmod(TEST_CONFIG, 0000)); + + cl_git_fail_with(-1, git_config_open_ondisk(&config, TEST_CONFIG)); + + cl_git_pass(git_config_new(&config)); + cl_git_pass(git_config_add_file_ondisk_gently(config, TEST_CONFIG, 1, 1)); + + git_config_free(config); +} |