diff options
| author | nulltoken <emeric.fermas@gmail.com> | 2012-06-22 11:30:43 +0200 |
|---|---|---|
| committer | nulltoken <emeric.fermas@gmail.com> | 2012-06-22 11:32:50 +0200 |
| commit | dbb24a3962bd1dcd006c2f615b2cda1dcd1d042e (patch) | |
| tree | d2cf1d4e4fbdc3c1608d4696d352b1899ea317f4 /tests-clar/repo/init.c | |
| parent | 2c227b8b33b8179feb056e60b7c1502b9c4fcd4b (diff) | |
| download | libgit2-dbb24a3962bd1dcd006c2f615b2cda1dcd1d042e.tar.gz | |
repository: enhance reinitialization test coverage
Diffstat (limited to 'tests-clar/repo/init.c')
| -rw-r--r-- | tests-clar/repo/init.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests-clar/repo/init.c b/tests-clar/repo/init.c index 1ba355ed6..f9e781e5f 100644 --- a/tests-clar/repo/init.c +++ b/tests-clar/repo/init.c @@ -242,6 +242,37 @@ void test_repo_init__reinit_doesnot_overwrite_ignorecase(void) git_config_free(config); } +void test_repo_init__reinit_overwrites_filemode(void) +{ + git_config *config; + int expected, current_value; + +#ifdef GIT_WIN32 + expected = false; +#else + expected = true; +#endif + + /* Init a new repo */ + cl_git_pass(git_repository_init(&_repo, "config_entry/test.git", 1)); + + /* Change the "core.filemode" config value to something unlikely */ + git_repository_config(&config, _repo); + git_config_set_bool(config, "core.filemode", !expected); + git_config_free(config); + git_repository_free(_repo); + + /* Reinit the repository */ + cl_git_pass(git_repository_init(&_repo, "config_entry/test.git", 1)); + git_repository_config(&config, _repo); + + /* Ensure the "core.filemode" config value has been reset */ + cl_git_pass(git_config_get_bool(¤t_value, config, "core.filemode")); + cl_assert_equal_i(expected, current_value); + + git_config_free(config); +} + void test_repo_init__sets_logAllRefUpdates_according_to_type_of_repository(void) { assert_config_entry_on_init_bytype("core.logallrefupdates", GIT_ENOTFOUND, true); |
