Commit 6ee7d37a by Patrick Steinhardt

tests: index::tests: create sandboxed repo for locking

The test `index::tests::can_lock_index` operates on the "testrepo.git"
repository located inside of our source tree. While this is okay for
tests which do read-only operations on these resouces, this specific
test tries to lock the index by creating a lock. This will obviously
fail on out-of-tree builds with read-only source trees.

Fix the issue by creating a sandbox first.
parent 4305fcca
...@@ -856,11 +856,14 @@ void test_index_tests__change_icase_on_instance(void) ...@@ -856,11 +856,14 @@ void test_index_tests__change_icase_on_instance(void)
void test_index_tests__can_lock_index(void) void test_index_tests__can_lock_index(void)
{ {
git_repository *repo;
git_index *index; git_index *index;
git_indexwriter one = GIT_INDEXWRITER_INIT, git_indexwriter one = GIT_INDEXWRITER_INIT,
two = GIT_INDEXWRITER_INIT; two = GIT_INDEXWRITER_INIT;
cl_git_pass(git_index_open(&index, TEST_INDEX_PATH)); repo = cl_git_sandbox_init("testrepo.git");
cl_git_pass(git_repository_index(&index, repo));
cl_git_pass(git_indexwriter_init(&one, index)); cl_git_pass(git_indexwriter_init(&one, index));
cl_git_fail_with(GIT_ELOCKED, git_indexwriter_init(&two, index)); cl_git_fail_with(GIT_ELOCKED, git_indexwriter_init(&two, index));
...@@ -873,4 +876,5 @@ void test_index_tests__can_lock_index(void) ...@@ -873,4 +876,5 @@ void test_index_tests__can_lock_index(void)
git_indexwriter_cleanup(&one); git_indexwriter_cleanup(&one);
git_indexwriter_cleanup(&two); git_indexwriter_cleanup(&two);
git_index_free(index); git_index_free(index);
cl_git_sandbox_cleanup();
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment