diff options
author | Patrick Steinhardt <ps@pks.im> | 2017-05-12 10:04:42 +0200 |
---|---|---|
committer | Patrick Steinhardt <ps@pks.im> | 2017-06-06 09:38:44 +0200 |
commit | 82368b1bad1eae400b9e1f8f0e7a452c1335d4db (patch) | |
tree | 9bdca94782fb1b14bc3e9dd937c97e3f7bace1ae | |
parent | fea0c81e95d5c22b758df6bedbd13321fa2ab195 (diff) | |
download | libgit2-82368b1bad1eae400b9e1f8f0e7a452c1335d4db.tar.gz |
tests: index::version: add test to read index version v4
While we have a simple test to determine whether we can write an index
of version 4, we never verified that we are able to read this kind of
index (and in fact, we were not able to do so). Add a new repository
which has an index of version 4. This repository is then read from a new
test.
-rw-r--r-- | tests/index/version.c | 23 | ||||
-rw-r--r-- | tests/resources/indexv4/.gitted/HEAD | 1 | ||||
-rw-r--r-- | tests/resources/indexv4/.gitted/config | 5 | ||||
-rw-r--r-- | tests/resources/indexv4/.gitted/index | bin | 0 -> 572 bytes | |||
-rw-r--r-- | tests/resources/indexv4/.gitted/objects/4c/9109b3e671d851eec87e0e72f6305b582e7e99 | bin | 0 -> 70 bytes | |||
-rw-r--r-- | tests/resources/indexv4/.gitted/objects/b0/952dbb50bed5f01e03e31b296184cb183e54a7 | bin | 0 -> 154 bytes | |||
-rw-r--r-- | tests/resources/indexv4/.gitted/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 | bin | 0 -> 15 bytes | |||
-rw-r--r-- | tests/resources/indexv4/.gitted/refs/heads/master | 1 | ||||
-rw-r--r-- | tests/resources/indexv4/file.tx | 0 | ||||
-rw-r--r-- | tests/resources/indexv4/file.txt | 0 | ||||
-rw-r--r-- | tests/resources/indexv4/file.txz | 0 | ||||
-rw-r--r-- | tests/resources/indexv4/foo | 0 | ||||
-rw-r--r-- | tests/resources/indexv4/zzz | 0 |
13 files changed, 30 insertions, 0 deletions
diff --git a/tests/index/version.c b/tests/index/version.c index 688a20f20..c3cb0cd40 100644 --- a/tests/index/version.c +++ b/tests/index/version.c @@ -9,6 +9,29 @@ void test_index_version__cleanup(void) g_repo = NULL; } +void test_index_version__can_read_v4(void) +{ + const char *paths[] = { + "file.tx", "file.txt", "file.txz", "foo", "zzz", + }; + git_index *index; + size_t i; + + g_repo = cl_git_sandbox_init("indexv4"); + + cl_git_pass(git_repository_index(&index, g_repo)); + cl_assert_equal_sz(git_index_entrycount(index), 5); + + for (i = 0; i < ARRAY_SIZE(paths); i++) { + const git_index_entry *entry = + git_index_get_bypath(index, paths[i], GIT_INDEX_STAGE_NORMAL); + + cl_assert(entry != NULL); + } + + git_index_free(index); +} + void test_index_version__can_write_v4(void) { git_index *index; diff --git a/tests/resources/indexv4/.gitted/HEAD b/tests/resources/indexv4/.gitted/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/tests/resources/indexv4/.gitted/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/tests/resources/indexv4/.gitted/config b/tests/resources/indexv4/.gitted/config new file mode 100644 index 000000000..515f48362 --- /dev/null +++ b/tests/resources/indexv4/.gitted/config @@ -0,0 +1,5 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true diff --git a/tests/resources/indexv4/.gitted/index b/tests/resources/indexv4/.gitted/index Binary files differnew file mode 100644 index 000000000..e8fc61736 --- /dev/null +++ b/tests/resources/indexv4/.gitted/index diff --git a/tests/resources/indexv4/.gitted/objects/4c/9109b3e671d851eec87e0e72f6305b582e7e99 b/tests/resources/indexv4/.gitted/objects/4c/9109b3e671d851eec87e0e72f6305b582e7e99 Binary files differnew file mode 100644 index 000000000..cedd594b0 --- /dev/null +++ b/tests/resources/indexv4/.gitted/objects/4c/9109b3e671d851eec87e0e72f6305b582e7e99 diff --git a/tests/resources/indexv4/.gitted/objects/b0/952dbb50bed5f01e03e31b296184cb183e54a7 b/tests/resources/indexv4/.gitted/objects/b0/952dbb50bed5f01e03e31b296184cb183e54a7 Binary files differnew file mode 100644 index 000000000..0ddc1d1a9 --- /dev/null +++ b/tests/resources/indexv4/.gitted/objects/b0/952dbb50bed5f01e03e31b296184cb183e54a7 diff --git a/tests/resources/indexv4/.gitted/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/tests/resources/indexv4/.gitted/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 Binary files differnew file mode 100644 index 000000000..711223894 --- /dev/null +++ b/tests/resources/indexv4/.gitted/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/resources/indexv4/.gitted/refs/heads/master b/tests/resources/indexv4/.gitted/refs/heads/master new file mode 100644 index 000000000..f3e960eb3 --- /dev/null +++ b/tests/resources/indexv4/.gitted/refs/heads/master @@ -0,0 +1 @@ +b0952dbb50bed5f01e03e31b296184cb183e54a7 diff --git a/tests/resources/indexv4/file.tx b/tests/resources/indexv4/file.tx new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/resources/indexv4/file.tx diff --git a/tests/resources/indexv4/file.txt b/tests/resources/indexv4/file.txt new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/resources/indexv4/file.txt diff --git a/tests/resources/indexv4/file.txz b/tests/resources/indexv4/file.txz new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/resources/indexv4/file.txz diff --git a/tests/resources/indexv4/foo b/tests/resources/indexv4/foo new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/resources/indexv4/foo diff --git a/tests/resources/indexv4/zzz b/tests/resources/indexv4/zzz new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/resources/indexv4/zzz |