summaryrefslogtreecommitdiff
path: root/tests/config/new.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/config/new.c')
-rw-r--r--tests/config/new.c21
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);
+}