summaryrefslogtreecommitdiff
path: root/tests-clay/object
diff options
context:
space:
mode:
authorVicent Martí <tanoku@gmail.com>2012-01-24 20:35:15 -0800
committerVicent Martí <tanoku@gmail.com>2012-01-24 20:35:15 -0800
commit3fd1520cd4d8b4d6b6493a7d3dc393ffd9abf1db (patch)
tree51b29f5d8ffeb31ba751ab2a099e4f2a32d4be07 /tests-clay/object
parenta9fe8ae0ee1ddcc289fad53f1a671f02a3e9a88f (diff)
downloadlibgit2-3fd1520cd4d8b4d6b6493a7d3dc393ffd9abf1db.tar.gz
Rename the Clay test suite to Clar
Clay is the name of a programming language on the makings, and we want to avoid confusions. Sorry for the huge diff!
Diffstat (limited to 'tests-clay/object')
-rw-r--r--tests-clay/object/commit/commitstagedfile.c118
-rw-r--r--tests-clay/object/raw/chars.c41
-rw-r--r--tests-clay/object/raw/compare.c124
-rw-r--r--tests-clay/object/raw/convert.c75
-rw-r--r--tests-clay/object/raw/data.h323
-rw-r--r--tests-clay/object/raw/fromstr.c30
-rw-r--r--tests-clay/object/raw/hash.c162
-rw-r--r--tests-clay/object/raw/short.c94
-rw-r--r--tests-clay/object/raw/size.c13
-rw-r--r--tests-clay/object/raw/type2string.c54
-rw-r--r--tests-clay/object/tree/diff.c168
-rw-r--r--tests-clay/object/tree/frompath.c75
12 files changed, 0 insertions, 1277 deletions
diff --git a/tests-clay/object/commit/commitstagedfile.c b/tests-clay/object/commit/commitstagedfile.c
deleted file mode 100644
index 764013b38..000000000
--- a/tests-clay/object/commit/commitstagedfile.c
+++ /dev/null
@@ -1,118 +0,0 @@
-#include "clay_libgit2.h"
-#include "posix.h"
-
-static git_repository *repo;
-
-void test_object_commit_commitstagedfile__initialize(void)
-{
- cl_fixture("treebuilder");
- cl_git_pass(git_repository_init(&repo, "treebuilder/", 0));
- cl_assert(repo != NULL);
-}
-
-void test_object_commit_commitstagedfile__cleanup(void)
-{
- git_repository_free(repo);
- cl_fixture_cleanup("treebuilder");
-}
-
-void test_object_commit_commitstagedfile__generate_predictable_object_ids(void)
-{
- git_index *index;
- git_index_entry *entry;
- git_oid expected_blob_oid, tree_oid, expected_tree_oid, commit_oid, expected_commit_oid;
- git_signature *signature;
- git_tree *tree;
-
- /*
- * The test below replicates the following git scenario
- *
- * $ echo "test" > test.txt
- * $ git hash-object test.txt
- * 9daeafb9864cf43055ae93beb0afd6c7d144bfa4
- *
- * $ git add .
- * $ git commit -m "Initial commit"
- *
- * $ git log
- * commit 1fe3126578fc4eca68c193e4a3a0a14a0704624d
- * Author: nulltoken <emeric.fermas@gmail.com>
- * Date: Wed Dec 14 08:29:03 2011 +0100
- *
- * Initial commit
- *
- * $ git show 1fe3 --format=raw
- * commit 1fe3126578fc4eca68c193e4a3a0a14a0704624d
- * tree 2b297e643c551e76cfa1f93810c50811382f9117
- * author nulltoken <emeric.fermas@gmail.com> 1323847743 +0100
- * committer nulltoken <emeric.fermas@gmail.com> 1323847743 +0100
- *
- * Initial commit
- *
- * diff --git a/test.txt b/test.txt
- * new file mode 100644
- * index 0000000..9daeafb
- * --- /dev/null
- * +++ b/test.txt
- * @@ -0,0 +1 @@
- * +test
- *
- * $ git ls-tree 2b297
- * 100644 blob 9daeafb9864cf43055ae93beb0afd6c7d144bfa4 test.txt
- */
-
- cl_git_pass(git_oid_fromstr(&expected_commit_oid, "1fe3126578fc4eca68c193e4a3a0a14a0704624d"));
- cl_git_pass(git_oid_fromstr(&expected_tree_oid, "2b297e643c551e76cfa1f93810c50811382f9117"));
- cl_git_pass(git_oid_fromstr(&expected_blob_oid, "9daeafb9864cf43055ae93beb0afd6c7d144bfa4"));
-
- /*
- * Add a new file to the index
- */
- cl_git_mkfile("treebuilder/test.txt", "test\n");
- cl_git_pass(git_repository_index(&index, repo));
- cl_git_pass(git_index_add(index, "test.txt", 0));
-
- entry = git_index_get(index, 0);
-
- cl_assert(git_oid_cmp(&expected_blob_oid, &entry->oid) == 0);
-
- /*
- * Information about index entry should match test file
- */
- {
- struct stat st;
- cl_must_pass(p_lstat("treebuilder/test.txt", &st));
- cl_assert(entry->file_size == st.st_size);
- cl_assert(entry->uid == st.st_uid);
- cl_assert(entry->gid == st.st_gid);
- }
-
- /*
- * Build the tree from the index
- */
- cl_git_pass(git_tree_create_fromindex(&tree_oid, index));
-
- cl_assert(git_oid_cmp(&expected_tree_oid, &tree_oid) == 0);
-
- /*
- * Commit the staged file
- */
- cl_git_pass(git_signature_new(&signature, "nulltoken", "emeric.fermas@gmail.com", 1323847743, 60));
- cl_git_pass(git_tree_lookup(&tree, repo, &tree_oid));
- cl_git_pass(git_commit_create_v(
- &commit_oid,
- repo,
- "HEAD",
- signature,
- signature,
- NULL,
- "Initial commit\n", // Note: the trailing linefeed is mandatory to replicate git behavior
- tree,
- 0));
-
- cl_assert(git_oid_cmp(&expected_commit_oid, &commit_oid) == 0);
-
- git_signature_free(signature);
- git_tree_free(tree);
- git_index_free(index);
-}
diff --git a/tests-clay/object/raw/chars.c b/tests-clay/object/raw/chars.c
deleted file mode 100644
index 83bcbeb79..000000000
--- a/tests-clay/object/raw/chars.c
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#include "clay_libgit2.h"
-
-#include "odb.h"
-
-void test_object_raw_chars__find_invalid_chars_in_oid(void)
-{
- git_oid out;
- unsigned char exp[] = {
- 0x16, 0xa6, 0x77, 0x70, 0xb7,
- 0xd8, 0xd7, 0x23, 0x17, 0xc4,
- 0xb7, 0x75, 0x21, 0x3c, 0x23,
- 0xa8, 0xbd, 0x74, 0xf5, 0xe0,
- };
- char in[41] = "16a67770b7d8d72317c4b775213c23a8bd74f5e0";
- unsigned int i;
-
- for (i = 0; i < 256; i++) {
- in[38] = (char)i;
- if (git__fromhex(i) >= 0) {
- exp[19] = (unsigned char)(git__fromhex(i) << 4);
- cl_git_pass(git_oid_fromstr(&out, in));
- cl_assert(memcmp(out.id, exp, sizeof(out.id)) == 0);
- } else {
- cl_git_fail(git_oid_fromstr(&out, in));
- }
- }
-}
-
-void test_object_raw_chars__build_valid_oid_from_raw_bytes(void)
-{
- git_oid out;
- unsigned char exp[] = {
- 0x16, 0xa6, 0x77, 0x70, 0xb7,
- 0xd8, 0xd7, 0x23, 0x17, 0xc4,
- 0xb7, 0x75, 0x21, 0x3c, 0x23,
- 0xa8, 0xbd, 0x74, 0xf5, 0xe0,
- };
- git_oid_fromraw(&out, exp);
- cl_git_pass(memcmp(out.id, exp, sizeof(out.id)));
-}
diff --git a/tests-clay/object/raw/compare.c b/tests-clay/object/raw/compare.c
deleted file mode 100644
index 94b196945..000000000
--- a/tests-clay/object/raw/compare.c
+++ /dev/null
@@ -1,124 +0,0 @@
-
-#include "clay_libgit2.h"
-
-#include "odb.h"
-
-void test_object_raw_compare__succeed_on_copy_oid(void)
-{
- git_oid a, b;
- unsigned char exp[] = {
- 0x16, 0xa6, 0x77, 0x70, 0xb7,
- 0xd8, 0xd7, 0x23, 0x17, 0xc4,
- 0xb7, 0x75, 0x21, 0x3c, 0x23,
- 0xa8, 0xbd, 0x74, 0xf5, 0xe0,
- };
- memset(&b, 0, sizeof(b));
- git_oid_fromraw(&a, exp);
- git_oid_cpy(&b, &a);
- cl_git_pass(memcmp(a.id, exp, sizeof(a.id)));
-}
-
-void test_object_raw_compare__succeed_on_oid_comparison_lesser(void)
-{
- git_oid a, b;
- unsigned char a_in[] = {
- 0x16, 0xa6, 0x77, 0x70, 0xb7,
- 0xd8, 0xd7, 0x23, 0x17, 0xc4,
- 0xb7, 0x75, 0x21, 0x3c, 0x23,
- 0xa8, 0xbd, 0x74, 0xf5, 0xe0,
- };
- unsigned char b_in[] = {
- 0x16, 0xa6, 0x77, 0x70, 0xb7,
- 0xd8, 0xd7, 0x23, 0x17, 0xc4,
- 0xb7, 0x75, 0x21, 0x3c, 0x23,
- 0xa8, 0xbd, 0x74, 0xf5, 0xf0,
- };
- git_oid_fromraw(&a, a_in);
- git_oid_fromraw(&b, b_in);
- cl_assert(git_oid_cmp(&a, &b) < 0);
-}
-
-void test_object_raw_compare__succeed_on_oid_comparison_equal(void)
-{
- git_oid a, b;
- unsigned char a_in[] = {
- 0x16, 0xa6, 0x77, 0x70, 0xb7,
- 0xd8, 0xd7, 0x23, 0x17, 0xc4,
- 0xb7, 0x75, 0x21, 0x3c, 0x23,
- 0xa8, 0xbd, 0x74, 0xf5, 0xe0,
- };
- git_oid_fromraw(&a, a_in);
- git_oid_fromraw(&b, a_in);
- cl_assert(git_oid_cmp(&a, &b) == 0);
-}
-
-void test_object_raw_compare__succeed_on_oid_comparison_greater(void)
-{
- git_oid a, b;
- unsigned char a_in[] = {
- 0x16, 0xa6, 0x77, 0x70, 0xb7,
- 0xd8, 0xd7, 0x23, 0x17, 0xc4,
- 0xb7, 0x75, 0x21, 0x3c, 0x23,
- 0xa8, 0xbd, 0x74, 0xf5, 0xe0,
- };
- unsigned char b_in[] = {
- 0x16, 0xa6, 0x77, 0x70, 0xb7,
- 0xd8, 0xd7, 0x23, 0x17, 0xc4,
- 0xb7, 0x75, 0x21, 0x3c, 0x23,
- 0xa8, 0xbd, 0x74, 0xf5, 0xd0,
- };
- git_oid_fromraw(&a, a_in);
- git_oid_fromraw(&b, b_in);
- cl_assert(git_oid_cmp(&a, &b) > 0);
-}
-
-void test_object_raw_compare__compare_fmt_oids(void)
-{
- const char *exp = "16a0123456789abcdef4b775213c23a8bd74f5e0";
- git_oid in;
- char out[GIT_OID_HEXSZ + 1];
-
- cl_git_pass(git_oid_fromstr(&in, exp));
-
- /* Format doesn't touch the last byte */
- out[GIT_OID_HEXSZ] = 'Z';
- git_oid_fmt(out, &in);
- cl_assert(out[GIT_OID_HEXSZ] == 'Z');
-
- /* Format produced the right result */
- out[GIT_OID_HEXSZ] = '\0';
- cl_assert(strcmp(exp, out) == 0);
-}
-
-void test_object_raw_compare__compare_allocfmt_oids(void)
-{
- const char *exp = "16a0123456789abcdef4b775213c23a8bd74f5e0";
- git_oid in;
- char *out;
-
- cl_git_pass(git_oid_fromstr(&in, exp));
-
- out = git_oid_allocfmt(&in);
- cl_assert(out);
- cl_assert(strcmp(exp, out) == 0);
- git__free(out);
-}
-
-void test_object_raw_compare__compare_pathfmt_oids(void)
-{
- const char *exp1 = "16a0123456789abcdef4b775213c23a8bd74f5e0";
- const char *exp2 = "16/a0123456789abcdef4b775213c23a8bd74f5e0";
- git_oid in;
- char out[GIT_OID_HEXSZ + 2];
-
- cl_git_pass(git_oid_fromstr(&in, exp1));
-
- /* Format doesn't touch the last byte */
- out[GIT_OID_HEXSZ + 1] = 'Z';
- git_oid_pathfmt(out, &in);
- cl_assert(out[GIT_OID_HEXSZ + 1] == 'Z');
-
- /* Format produced the right result */
- out[GIT_OID_HEXSZ + 1] = '\0';
- cl_assert(strcmp(exp2, out) == 0);
-}
diff --git a/tests-clay/object/raw/convert.c b/tests-clay/object/raw/convert.c
deleted file mode 100644
index f69f5f924..000000000
--- a/tests-clay/object/raw/convert.c
+++ /dev/null
@@ -1,75 +0,0 @@
-
-#include "clay_libgit2.h"
-
-#include "odb.h"
-
-void test_object_raw_convert__succeed_on_oid_to_string_conversion(void)
-{
- const char *exp = "16a0123456789abcdef4b775213c23a8bd74f5e0";
- git_oid in;
- char out[GIT_OID_HEXSZ + 1];
- char *str;
- int i;
-
- cl_git_pass(git_oid_fromstr(&in, exp));
-
- /* NULL buffer pointer, returns static empty string */
- str = git_oid_to_string(NULL, sizeof(out), &in);
- cl_assert(str && *str == '\0' && str != out);
-
- /* zero buffer size, returns static empty string */
- str = git_oid_to_string(out, 0, &in);
- cl_assert(str && *str == '\0' && str != out);
-
- /* NULL oid pointer, returns static empty string */
- str = git_oid_to_string(out, sizeof(out), NULL);
- cl_assert(str && *str == '\0' && str != out);
-
- /* n == 1, returns out as an empty string */
- str = git_oid_to_string(out, 1, &in);
- cl_assert(str && *str == '\0' && str == out);
-
- for (i = 1; i < GIT_OID_HEXSZ; i++) {
- out[i+1] = 'Z';
- str = git_oid_to_string(out, i+1, &in);
- /* returns out containing c-string */
- cl_assert(str && str == out);
- /* must be '\0' terminated */
- cl_assert(*(str+i) == '\0');
- /* must not touch bytes past end of string */
- cl_assert(*(str+(i+1)) == 'Z');
- /* i == n-1 charaters of string */
- cl_git_pass(strncmp(exp, out, i));
- }
-
- /* returns out as hex formatted c-string */
- str = git_oid_to_string(out, sizeof(out), &in);
- cl_assert(str && str == out && *(str+GIT_OID_HEXSZ) == '\0');
- cl_assert(strcmp(exp, out) == 0);
-}
-
-void test_object_raw_convert__succeed_on_oid_to_string_conversion_big(void)
-{
- const char *exp = "16a0123456789abcdef4b775213c23a8bd74f5e0";
- git_oid in;
- char big[GIT_OID_HEXSZ + 1 + 3]; /* note + 4 => big buffer */
- char *str;
-
- cl_git_pass(git_oid_fromstr(&in, exp));
-
- /* place some tail material */
- big[GIT_OID_HEXSZ+0] = 'W'; /* should be '\0' afterwards */
- big[GIT_OID_HEXSZ+1] = 'X'; /* should remain untouched */
- big[GIT_OID_HEXSZ+2] = 'Y'; /* ditto */
- big[GIT_OID_HEXSZ+3] = 'Z'; /* ditto */
-
- /* returns big as hex formatted c-string */
- str = git_oid_to_string(big, sizeof(big), &in);
- cl_assert(str && str == big && *(str+GIT_OID_HEXSZ) == '\0');
- cl_assert(strcmp(exp, big) == 0);
-
- /* check tail material is untouched */
- cl_assert(str && str == big && *(str+GIT_OID_HEXSZ+1) == 'X');
- cl_assert(str && str == big && *(str+GIT_OID_HEXSZ+2) == 'Y');
- cl_assert(str && str == big && *(str+GIT_OID_HEXSZ+3) == 'Z');
-}
diff --git a/tests-clay/object/raw/data.h b/tests-clay/object/raw/data.h
deleted file mode 100644
index cf23819f1..000000000
--- a/tests-clay/object/raw/data.h
+++ /dev/null
@@ -1,323 +0,0 @@
-
-/*
- * Raw data
- */
-static unsigned char commit_data[] = {
- 0x74, 0x72, 0x65, 0x65, 0x20, 0x64, 0x66, 0x66,
- 0x32, 0x64, 0x61, 0x39, 0x30, 0x62, 0x32, 0x35,
- 0x34, 0x65, 0x31, 0x62, 0x65, 0x62, 0x38, 0x38,
- 0x39, 0x64, 0x31, 0x66, 0x31, 0x66, 0x31, 0x32,
- 0x38, 0x38, 0x62, 0x65, 0x31, 0x38, 0x30, 0x33,
- 0x37, 0x38, 0x32, 0x64, 0x66, 0x0a, 0x61, 0x75,
- 0x74, 0x68, 0x6f, 0x72, 0x20, 0x41, 0x20, 0x55,
- 0x20, 0x54, 0x68, 0x6f, 0x72, 0x20, 0x3c, 0x61,
- 0x75, 0x74, 0x68, 0x6f, 0x72, 0x40, 0x65, 0x78,
- 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
- 0x6d, 0x3e, 0x20, 0x31, 0x32, 0x32, 0x37, 0x38,
- 0x31, 0x34, 0x32, 0x39, 0x37, 0x20, 0x2b, 0x30,
- 0x30, 0x30, 0x30, 0x0a, 0x63, 0x6f, 0x6d, 0x6d,
- 0x69, 0x74, 0x74, 0x65, 0x72, 0x20, 0x43, 0x20,
- 0x4f, 0x20, 0x4d, 0x69, 0x74, 0x74, 0x65, 0x72,
- 0x20, 0x3c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
- 0x74, 0x65, 0x72, 0x40, 0x65, 0x78, 0x61, 0x6d,
- 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x3e,
- 0x20, 0x31, 0x32, 0x32, 0x37, 0x38, 0x31, 0x34,
- 0x32, 0x39, 0x37, 0x20, 0x2b, 0x30, 0x30, 0x30,
- 0x30, 0x0a, 0x0a, 0x41, 0x20, 0x6f, 0x6e, 0x65,
- 0x2d, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x63, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x20, 0x73, 0x75, 0x6d,
- 0x6d, 0x61, 0x72, 0x79, 0x0a, 0x0a, 0x54, 0x68,
- 0x65, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x6f,
- 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x20, 0x6d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x63, 0x6f,
- 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
- 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72,
- 0x20, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x6f, 0x66, 0x20,
- 0x74, 0x68, 0x65, 0x20, 0x70, 0x75, 0x72, 0x70,
- 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74,
- 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67,
- 0x65, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f,
- 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x62, 0x79,
- 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x2e, 0x0a, 0x0a, 0x53, 0x69,
- 0x67, 0x6e, 0x65, 0x64, 0x2d, 0x6f, 0x66, 0x2d,
- 0x62, 0x79, 0x3a, 0x20, 0x41, 0x20, 0x55, 0x20,
- 0x54, 0x68, 0x6f, 0x72, 0x20, 0x3c, 0x61, 0x75,
- 0x74, 0x68, 0x6f, 0x72, 0x40, 0x65, 0x78, 0x61,
- 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
- 0x3e, 0x0a,
-};
-
-
-static unsigned char tree_data[] = {
- 0x31, 0x30, 0x30, 0x36, 0x34, 0x34, 0x20, 0x6f,
- 0x6e, 0x65, 0x00, 0x8b, 0x13, 0x78, 0x91, 0x79,
- 0x1f, 0xe9, 0x69, 0x27, 0xad, 0x78, 0xe6, 0x4b,
- 0x0a, 0xad, 0x7b, 0xde, 0xd0, 0x8b, 0xdc, 0x31,
- 0x30, 0x30, 0x36, 0x34, 0x34, 0x20, 0x73, 0x6f,
- 0x6d, 0x65, 0x00, 0xfd, 0x84, 0x30, 0xbc, 0x86,
- 0x4c, 0xfc, 0xd5, 0xf1, 0x0e, 0x55, 0x90, 0xf8,
- 0xa4, 0x47, 0xe0, 0x1b, 0x94, 0x2b, 0xfe, 0x31,
- 0x30, 0x30, 0x36, 0x34, 0x34, 0x20, 0x74, 0x77,
- 0x6f, 0x00, 0x78, 0x98, 0x19, 0x22, 0x61, 0x3b,
- 0x2a, 0xfb, 0x60, 0x25, 0x04, 0x2f, 0xf6, 0xbd,
- 0x87, 0x8a, 0xc1, 0x99, 0x4e, 0x85, 0x31, 0x30,
- 0x30, 0x36, 0x34, 0x34, 0x20, 0x7a, 0x65, 0x72,
- 0x6f, 0x00, 0xe6, 0x9d, 0xe2, 0x9b, 0xb2, 0xd1,
- 0xd6, 0x43, 0x4b, 0x8b, 0x29, 0xae, 0x77, 0x5a,
- 0xd8, 0xc2, 0xe4, 0x8c, 0x53, 0x91,
-};
-
-static unsigned char tag_data[] = {
- 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x33,
- 0x64, 0x37, 0x66, 0x38, 0x61, 0x36, 0x61, 0x66,
- 0x30, 0x37, 0x36, 0x63, 0x38, 0x63, 0x33, 0x66,
- 0x32, 0x30, 0x30, 0x37, 0x31, 0x61, 0x38, 0x39,
- 0x33, 0x35, 0x63, 0x64, 0x62, 0x65, 0x38, 0x32,
- 0x32, 0x38, 0x35, 0x39, 0x34, 0x64, 0x31, 0x0a,
- 0x74, 0x79, 0x70, 0x65, 0x20, 0x63, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x0a, 0x74, 0x61, 0x67, 0x20,
- 0x76, 0x30, 0x2e, 0x30, 0x2e, 0x31, 0x0a, 0x74,
- 0x61, 0x67, 0x67, 0x65, 0x72, 0x20, 0x43, 0x20,
- 0x4f, 0x20, 0x4d, 0x69, 0x74, 0x74, 0x65, 0x72,
- 0x20, 0x3c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
- 0x74, 0x65, 0x72, 0x40, 0x65, 0x78, 0x61, 0x6d,
- 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x3e,
- 0x20, 0x31, 0x32, 0x32, 0x37, 0x38, 0x31, 0x34,
- 0x32, 0x39, 0x37, 0x20, 0x2b, 0x30, 0x30, 0x30,
- 0x30, 0x0a, 0x0a, 0x54, 0x68, 0x69, 0x73, 0x20,
- 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74,
- 0x61, 0x67, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65,
- 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x76, 0x30,
- 0x2e, 0x30, 0x2e, 0x31, 0x0a,
-};
-
-/*
- * Dummy data
- */
-static unsigned char zero_data[] = {
- 0x00,
-};
-
-static unsigned char one_data[] = {
- 0x0a,
-};
-
-static unsigned char two_data[] = {
- 0x61, 0x0a,
-};
-
-static unsigned char some_data[] = {
- 0x2f, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x54, 0x68,
- 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20,
- 0x69, 0x73, 0x20, 0x66, 0x72, 0x65, 0x65, 0x20,
- 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
- 0x3b, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61,
- 0x6e, 0x20, 0x72, 0x65, 0x64, 0x69, 0x73, 0x74,
- 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x69,
- 0x74, 0x20, 0x61, 0x6e, 0x64, 0x2f, 0x6f, 0x72,
- 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x0a,
- 0x20, 0x2a, 0x20, 0x69, 0x74, 0x20, 0x75, 0x6e,
- 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20,
- 0x74, 0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66,
- 0x20, 0x74, 0x68, 0x65, 0x20, 0x47, 0x4e, 0x55,
- 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c,
- 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20,
- 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2c,
- 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x2a, 0x20, 0x61,
- 0x73, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
- 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74,
- 0x68, 0x65, 0x20, 0x46, 0x72, 0x65, 0x65, 0x20,
- 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
- 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x2a, 0x0a,
- 0x20, 0x2a, 0x20, 0x49, 0x6e, 0x20, 0x61, 0x64,
- 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74,
- 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65,
- 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
- 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65,
- 0x20, 0x47, 0x4e, 0x55, 0x20, 0x47, 0x65, 0x6e,
- 0x65, 0x72, 0x61, 0x6c, 0x20, 0x50, 0x75, 0x62,
- 0x6c, 0x69, 0x63, 0x20, 0x4c, 0x69, 0x63, 0x65,
- 0x6e, 0x73, 0x65, 0x2c, 0x0a, 0x20, 0x2a, 0x20,
- 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68,
- 0x6f, 0x72, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65,
- 0x20, 0x79, 0x6f, 0x75, 0x20, 0x75, 0x6e, 0x6c,
- 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x20, 0x70,
- 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x6e,
- 0x6b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x0a, 0x20,
- 0x2a, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69,
- 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x69,
- 0x6e, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6d, 0x62,
- 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6f, 0x74,
- 0x68, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x67,
- 0x72, 0x61, 0x6d, 0x73, 0x2c, 0x0a, 0x20, 0x2a,
- 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20,
- 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
- 0x74, 0x65, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65,
- 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69,
- 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e,
- 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x2a,
- 0x20, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x20,
- 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65,
- 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20,
- 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c,
- 0x65, 0x2e, 0x20, 0x20, 0x28, 0x54, 0x68, 0x65,
- 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c,
- 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20,
- 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x0a,
- 0x20, 0x2a, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72,
- 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
- 0x64, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79,
- 0x20, 0x69, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65,
- 0x72, 0x20, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63,
- 0x74, 0x73, 0x3b, 0x20, 0x66, 0x6f, 0x72, 0x20,
- 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c,
- 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x63, 0x6f,
- 0x76, 0x65, 0x72, 0x0a, 0x20, 0x2a, 0x20, 0x6d,
- 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74,
- 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2c,
- 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x69, 0x73,
- 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
- 0x6e, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6e,
- 0x6f, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x65,
- 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x0a, 0x20,
- 0x2a, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x62,
- 0x69, 0x6e, 0x65, 0x64, 0x20, 0x65, 0x78, 0x65,
- 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e,
- 0x29, 0x0a, 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20,
- 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c,
- 0x65, 0x20, 0x69, 0x73, 0x20, 0x64, 0x69, 0x73,
- 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64,
- 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20,
- 0x68, 0x6f, 0x70, 0x65, 0x20, 0x74, 0x68, 0x61,
- 0x74, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c,
- 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65,
- 0x66, 0x75, 0x6c, 0x2c, 0x20, 0x62, 0x75, 0x74,
- 0x0a, 0x20, 0x2a, 0x20, 0x57, 0x49, 0x54, 0x48,
- 0x4f, 0x55, 0x54, 0x20, 0x41, 0x4e, 0x59, 0x20,
- 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x59,
- 0x3b, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75,
- 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x74,
- 0x68, 0x65, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x69,
- 0x65, 0x64, 0x20, 0x77, 0x61, 0x72, 0x72, 0x61,
- 0x6e, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x0a, 0x20,
- 0x2a, 0x20, 0x4d, 0x45, 0x52, 0x43, 0x48, 0x41,
- 0x4e, 0x54, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
- 0x59, 0x20, 0x6f, 0x72, 0x20, 0x46, 0x49, 0x54,
- 0x4e, 0x45, 0x53, 0x53, 0x20, 0x46, 0x4f, 0x52,
- 0x20, 0x41, 0x20, 0x50, 0x41, 0x52, 0x54, 0x49,
- 0x43, 0x55, 0x4c, 0x41, 0x52, 0x20, 0x50, 0x55,
- 0x52, 0x50, 0x4f, 0x53, 0x45, 0x2e, 0x20, 0x20,
- 0x53, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20,
- 0x47, 0x4e, 0x55, 0x0a, 0x20, 0x2a, 0x20, 0x47,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x50,
- 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x4c, 0x69,
- 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f,
- 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64,
- 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x0a,
- 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x59, 0x6f,
- 0x75, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64,
- 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x72, 0x65,
- 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x61,
- 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66,
- 0x20, 0x74, 0x68, 0x65, 0x20, 0x47, 0x4e, 0x55,
- 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c,
- 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20,
- 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x0a,
- 0x20, 0x2a, 0x20, 0x61, 0x6c, 0x6f, 0x6e, 0x67,
- 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68,
- 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72,
- 0x61, 0x6d, 0x3b, 0x20, 0x73, 0x65, 0x65, 0x20,
- 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65,
- 0x20, 0x43, 0x4f, 0x50, 0x59, 0x49, 0x4e, 0x47,
- 0x2e, 0x20, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x6f,
- 0x74, 0x2c, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65,
- 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x2a, 0x20, 0x74,
- 0x68, 0x65, 0x20, 0x46, 0x72, 0x65, 0x65, 0x20,
- 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
- 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x35, 0x31, 0x20,
- 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x6c, 0x69, 0x6e,
- 0x20, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x2c,
- 0x20, 0x46, 0x69, 0x66, 0x74, 0x68, 0x20, 0x46,
- 0x6c, 0x6f, 0x6f, 0x72, 0x2c, 0x0a, 0x20, 0x2a,
- 0x20, 0x42, 0x6f, 0x73, 0x74, 0x6f, 0x6e, 0x2c,
- 0x20, 0x4d, 0x41, 0x20, 0x30, 0x32, 0x31, 0x31,
- 0x30, 0x2d, 0x31, 0x33, 0x30, 0x31, 0x2c, 0x20,
- 0x55, 0x53, 0x41, 0x2e, 0x0a, 0x20, 0x2a, 0x2f,
- 0x0a,
-};
-
-/*
- * SHA1 Hashes
- */
-static char *commit_id = "3d7f8a6af076c8c3f20071a8935cdbe8228594d1";
-static char *tree_id = "dff2da90b254e1beb889d1f1f1288be1803782df";
-static char *tag_id = "09d373e1dfdc16b129ceec6dd649739911541e05";
-static char *zero_id = "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391";
-static char *one_id = "8b137891791fe96927ad78e64b0aad7bded08bdc";
-static char *two_id = "78981922613b2afb6025042ff6bd878ac1994e85";
-static char *some_id = "fd8430bc864cfcd5f10e5590f8a447e01b942bfe";
-
-/*
- * In-memory objects
- */
-static git_rawobj tree_obj = {
- tree_data,
- sizeof(tree_data),
- GIT_OBJ_TREE
-};
-
-static git_rawobj tag_obj = {
- tag_data,
- sizeof(tag_data),
- GIT_OBJ_TAG
-};
-
-static git_rawobj zero_obj = {
- zero_data,
- 0,
- GIT_OBJ_BLOB
-};
-
-static git_rawobj one_obj = {
- one_data,
- sizeof(one_data),
- GIT_OBJ_BLOB
-};
-
-static git_rawobj two_obj = {
- two_data,
- sizeof(two_data),
- GIT_OBJ_BLOB
-};
-
-static git_rawobj commit_obj = {
- commit_data,
- sizeof(commit_data),
- GIT_OBJ_COMMIT
-};
-
-static git_rawobj some_obj = {
- some_data,
- sizeof(some_data),
- GIT_OBJ_BLOB
-};
-
-static git_rawobj junk_obj = {
- NULL,
- 0,
- GIT_OBJ_BAD
-};
diff --git a/tests-clay/object/raw/fromstr.c b/tests-clay/object/raw/fromstr.c
deleted file mode 100644
index 6d732d4eb..000000000
--- a/tests-clay/object/raw/fromstr.c
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#include "clay_libgit2.h"
-
-#include "odb.h"
-
-void test_object_raw_fromstr__fail_on_invalid_oid_string(void)
-{
- git_oid out;
- cl_git_fail(git_oid_fromstr(&out, ""));
- cl_git_fail(git_oid_fromstr(&out, "moo"));
- cl_git_fail(git_oid_fromstr(&out, "16a67770b7d8d72317c4b775213c23a8bd74f5ez"));
-}
-
-void test_object_raw_fromstr__succeed_on_valid_oid_string(void)
-{
- git_oid out;
- unsigned char exp[] = {
- 0x16, 0xa6, 0x77, 0x70, 0xb7,
- 0xd8, 0xd7, 0x23, 0x17, 0xc4,
- 0xb7, 0x75, 0x21, 0x3c, 0x23,
- 0xa8, 0xbd, 0x74, 0xf5, 0xe0,
- };
-
- cl_git_pass(git_oid_fromstr(&out, "16a67770b7d8d72317c4b775213c23a8bd74f5e0"));
- cl_git_pass(memcmp(out.id, exp, sizeof(out.id)));
-
- cl_git_pass(git_oid_fromstr(&out, "16A67770B7D8D72317C4b775213C23A8BD74F5E0"));
- cl_git_pass(memcmp(out.id, exp, sizeof(out.id)));
-
-}
diff --git a/tests-clay/object/raw/hash.c b/tests-clay/object/raw/hash.c
deleted file mode 100644
index 9974ed6ef..000000000
--- a/tests-clay/object/raw/hash.c
+++ /dev/null
@@ -1,162 +0,0 @@
-
-#include "clay_libgit2.h"
-
-#include "odb.h"
-#include "hash.h"
-
-#include "data.h"
-
-static int hash_object(git_oid *oid, git_rawobj *obj)
-{
- return git_odb_hash(oid, obj->data, obj->len, obj->type);
-}
-
-static char *hello_id = "22596363b3de40b06f981fb85d82312e8c0ed511";
-static char *hello_text = "hello world\n";
-
-static char *bye_id = "ce08fe4884650f067bd5703b6a59a8b3b3c99a09";
-static char *bye_text = "bye world\n";
-
-void test_object_raw_hash__hash_by_blocks(void)
-{
- git_hash_ctx *ctx;
- git_oid id1, id2;
-
- cl_assert((ctx = git_hash_new_ctx()) != NULL);
-
- /* should already be init'd */
- git_hash_update(ctx, hello_text, strlen(hello_text));
- git_hash_final(&id2, ctx);
- cl_git_pass(git_oid_fromstr(&id1, hello_id));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-
- /* reinit should permit reuse */
- git_hash_init(ctx);
- git_hash_update(ctx, bye_text, strlen(bye_text));
- git_hash_final(&id2, ctx);
- cl_git_pass(git_oid_fromstr(&id1, bye_id));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-
- git_hash_free_ctx(ctx);
-}
-
-void test_object_raw_hash__hash_buffer_in_single_call(void)
-{
- git_oid id1, id2;
-
- cl_git_pass(git_oid_fromstr(&id1, hello_id));
- git_hash_buf(&id2, hello_text, strlen(hello_text));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-}
-
-void test_object_raw_hash__hash_vector(void)
-{
- git_oid id1, id2;
- git_buf_vec vec[2];
-
- cl_git_pass(git_oid_fromstr(&id1, hello_id));
-
- vec[0].data = hello_text;
- vec[0].len = 4;
- vec[1].data = hello_text+4;
- vec[1].len = strlen(hello_text)-4;
-
- git_hash_vec(&id2, vec, 2);
-
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-}
-
-void test_object_raw_hash__hash_junk_data(void)
-{
- git_oid id, id_zero;
-
- cl_git_pass(git_oid_fromstr(&id_zero, zero_id));
-
- /* invalid types: */
- junk_obj.data = some_data;
- cl_git_fail(hash_object(&id, &junk_obj));
-
- junk_obj.type = GIT_OBJ__EXT1;
- cl_git_fail(hash_object(&id, &junk_obj));
-
- junk_obj.type = GIT_OBJ__EXT2;
- cl_git_fail(hash_object(&id, &junk_obj));
-
- junk_obj.type = GIT_OBJ_OFS_DELTA;
- cl_git_fail(hash_object(&id, &junk_obj));
-
- junk_obj.type = GIT_OBJ_REF_DELTA;
- cl_git_fail(hash_object(&id, &junk_obj));
-
- /* data can be NULL only if len is zero: */
- junk_obj.type = GIT_OBJ_BLOB;
- junk_obj.data = NULL;
- cl_git_pass(hash_object(&id, &junk_obj));
- cl_assert(git_oid_cmp(&id, &id_zero) == 0);
-
- junk_obj.len = 1;
- cl_git_fail(hash_object(&id, &junk_obj));
-}
-
-void test_object_raw_hash__hash_commit_object(void)
-{
- git_oid id1, id2;
-
- cl_git_pass(git_oid_fromstr(&id1, commit_id));
- cl_git_pass(hash_object(&id2, &commit_obj));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-}
-
-void test_object_raw_hash__hash_tree_object(void)
-{
- git_oid id1, id2;
-
- cl_git_pass(git_oid_fromstr(&id1, tree_id));
- cl_git_pass(hash_object(&id2, &tree_obj));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-}
-
-void test_object_raw_hash__hash_tag_object(void)
-{
- git_oid id1, id2;
-
- cl_git_pass(git_oid_fromstr(&id1, tag_id));
- cl_git_pass(hash_object(&id2, &tag_obj));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-}
-
-void test_object_raw_hash__hash_zero_length_object(void)
-{
- git_oid id1, id2;
-
- cl_git_pass(git_oid_fromstr(&id1, zero_id));
- cl_git_pass(hash_object(&id2, &zero_obj));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-}
-
-void test_object_raw_hash__hash_one_byte_object(void)
-{
- git_oid id1, id2;
-
- cl_git_pass(git_oid_fromstr(&id1, one_id));
- cl_git_pass(hash_object(&id2, &one_obj));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-}
-
-void test_object_raw_hash__hash_two_byte_object(void)
-{
- git_oid id1, id2;
-
- cl_git_pass(git_oid_fromstr(&id1, two_id));
- cl_git_pass(hash_object(&id2, &two_obj));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-}
-
-void test_object_raw_hash__hash_multi_byte_object(void)
-{
- git_oid id1, id2;
-
- cl_git_pass(git_oid_fromstr(&id1, some_id));
- cl_git_pass(hash_object(&id2, &some_obj));
- cl_assert(git_oid_cmp(&id1, &id2) == 0);
-}
diff --git a/tests-clay/object/raw/short.c b/tests-clay/object/raw/short.c
deleted file mode 100644
index 996f3f7b4..000000000
--- a/tests-clay/object/raw/short.c
+++ /dev/null
@@ -1,94 +0,0 @@
-
-#include "clay_libgit2.h"
-
-#include "odb.h"
-#include "hash.h"
-
-void test_object_raw_short__oid_shortener_no_duplicates(void)
-{
- git_oid_shorten *os;
- int min_len;
-
- os = git_oid_shorten_new(0);
- cl_assert(os != NULL);
-
- git_oid_shorten_add(os, "22596363b3de40b06f981fb85d82312e8c0ed511");
- git_oid_shorten_add(os, "ce08fe4884650f067bd5703b6a59a8b3b3c99a09");
- git_oid_shorten_add(os, "16a0123456789abcdef4b775213c23a8bd74f5e0");
- min_len = git_oid_shorten_add(os, "ce08fe4884650f067bd5703b6a59a8b3b3c99a09");
-
- cl_assert(min_len == GIT_OID_HEXSZ + 1);
-
- git_oid_shorten_free(os);
-}
-
-void test_object_raw_short__oid_shortener_stresstest_git_oid_shorten(void)
-{
-#define MAX_OIDS 1000
-
- git_oid_shorten *os;
- char *oids[MAX_OIDS];
- char number_buffer[16];
- git_oid oid;
- size_t i, j;
-
- int min_len = 0, found_collision;
-
- os = git_oid_shorten_new(0);
- cl_assert(os != NULL);
-
- /*
- * Insert in the shortener 1000 unique SHA1 ids
- */
- for (i = 0; i < MAX_OIDS; ++i) {
- char *oid_text;
-
- sprintf(number_buffer, "%u", (unsigned int)i);
- git_hash_buf(&oid, number_buffer, strlen(number_buffer));
-
- oid_text = git__malloc(GIT_OID_HEXSZ + 1);
- git_oid_fmt(oid_text, &oid);
- oid_text[GIT_OID_HEXSZ] = 0;
-
- min_len = git_oid_shorten_add(os, oid_text);
- cl_assert(min_len >= 0);
-
- oids[i] = oid_text;
- }
-
- /*
- * Compare the first `min_char - 1` characters of each
- * SHA1 OID. If the minimizer worked, we should find at
- * least one collision
- */
- found_collision = 0;
- for (i = 0; i < MAX_OIDS; ++i) {
- for (j = 0; j < MAX_OIDS; ++j) {
- if (i != j && memcmp(oids[i], oids[j], min_len - 1) == 0)
- found_collision = 1;
- }
- }
- cl_assert(found_collision == 1);
-
- /*
- * Compare the first `min_char` characters of each
- * SHA1 OID. If the minimizer worked, every single preffix
- * should be unique.
- */
- found_collision = 0;
- for (i = 0; i < MAX_OIDS; ++i) {
- for (j = 0; j < MAX_OIDS; ++j) {
- if (i != j && memcmp(oids[i], oids[j], min_len) == 0)
- found_collision = 1;
- }
- }
- cl_assert(found_collision == 0);
-
- /* cleanup */
- for (i = 0; i < MAX_OIDS; ++i)
- git__free(oids[i]);
-
- git_oid_shorten_free(os);
-
-#undef MAX_OIDS
-}
diff --git a/tests-clay/object/raw/size.c b/tests-clay/object/raw/size.c
deleted file mode 100644
index 44c5b6cd1..000000000
--- a/tests-clay/object/raw/size.c
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#include "clay_libgit2.h"
-
-#include "odb.h"
-
-void test_object_raw_size__validate_oid_size(void)
-{
- git_oid out;
- cl_assert(20 == GIT_OID_RAWSZ);
- cl_assert(40 == GIT_OID_HEXSZ);
- cl_assert(sizeof(out) == GIT_OID_RAWSZ);
- cl_assert(sizeof(out.id) == GIT_OID_RAWSZ);
-}
diff --git a/tests-clay/object/raw/type2string.c b/tests-clay/object/raw/type2string.c
deleted file mode 100644
index 109bc1112..000000000
--- a/tests-clay/object/raw/type2string.c
+++ /dev/null
@@ -1,54 +0,0 @@
-
-#include "clay_libgit2.h"
-
-#include "odb.h"
-#include "hash.h"
-
-void test_object_raw_type2string__convert_type_to_string(void)
-{
- cl_assert(!strcmp(git_object_type2string(GIT_OBJ_BAD), ""));
- cl_assert(!strcmp(git_object_type2string(GIT_OBJ__EXT1), ""));
- cl_assert(!strcmp(git_object_type2string(GIT_OBJ_COMMIT), "commit"));
- cl_assert(!strcmp(git_object_type2string(GIT_OBJ_TREE), "tree"));
- cl_assert(!strcmp(git_object_type2string(GIT_OBJ_BLOB), "blob"));
- cl_assert(!strcmp(git_object_type2string(GIT_OBJ_TAG), "tag"));
- cl_assert(!strcmp(git_object_type2string(GIT_OBJ__EXT2), ""));
- cl_assert(!strcmp(git_object_type2string(GIT_OBJ_OFS_DELTA), "OFS_DELTA"));
- cl_assert(!strcmp(git_object_type2string(GIT_OBJ_REF_DELTA), "REF_DELTA"));
-
- cl_assert(!strcmp(git_object_type2string(-2), ""));
- cl_assert(!strcmp(git_object_type2string(8), ""));
- cl_assert(!strcmp(git_object_type2string(1234), ""));
-}
-
-void test_object_raw_type2string__convert_string_to_type(void)
-{
- cl_assert(git_object_string2type(NULL) == GIT_OBJ_BAD);
- cl_assert(git_object_string2type("") == GIT_OBJ_BAD);
- cl_assert(git_object_string2type("commit") == GIT_OBJ_COMMIT);
- cl_assert(git_object_string2type("tree") == GIT_OBJ_TREE);
- cl_assert(git_object_string2type("blob") == GIT_OBJ_BLOB);
- cl_assert(git_object_string2type("tag") == GIT_OBJ_TAG);
- cl_assert(git_object_string2type("OFS_DELTA") == GIT_OBJ_OFS_DELTA);
- cl_assert(git_object_string2type("REF_DELTA") == GIT_OBJ_REF_DELTA);
-
- cl_assert(git_object_string2type("CoMmIt") == GIT_OBJ_BAD);
- cl_assert(git_object_string2type("hohoho") == GIT_OBJ_BAD);
-}
-
-void test_object_raw_type2string__check_type_is_loose(void)
-{
- cl_assert(git_object_typeisloose(GIT_OBJ_BAD) == 0);
- cl_assert(git_object_typeisloose(GIT_OBJ__EXT1) == 0);
- cl_assert(git_object_typeisloose(GIT_OBJ_COMMIT) == 1);
- cl_assert(git_object_typeisloose(GIT_OBJ_TREE) == 1);
- cl_assert(git_object_typeisloose(GIT_OBJ_BLOB) == 1);
- cl_assert(git_object_typeisloose(GIT_OBJ_TAG) == 1);
- cl_assert(git_object_typeisloose(GIT_OBJ__EXT2) == 0);
- cl_assert(git_object_typeisloose(GIT_OBJ_OFS_DELTA) == 0);
- cl_assert(git_object_typeisloose(GIT_OBJ_REF_DELTA) == 0);
-
- cl_assert(git_object_typeisloose(-2) == 0);
- cl_assert(git_object_typeisloose(8) == 0);
- cl_assert(git_object_typeisloose(1234) == 0);
-}
diff --git a/tests-clay/object/tree/diff.c b/tests-clay/object/tree/diff.c
deleted file mode 100644
index 315e0fa47..000000000
--- a/tests-clay/object/tree/diff.c
+++ /dev/null
@@ -1,168 +0,0 @@
-#include "clay_libgit2.h"
-#include "tree.h"
-#include "repository.h"
-
-static git_repository *repo;
-static git_index *theindex;
-static git_tree *atree, *btree;
-static git_oid aoid, boid;
-
-static void diff_cmp(const git_tree_diff_data *a, const git_tree_diff_data *b)
-{
- cl_assert(a->old_attr - b->old_attr == 0);
-
- cl_assert(a->new_attr - b->new_attr == 0);
-
- cl_assert(git_oid_cmp(&a->old_oid, &b->old_oid) == 0);
- cl_assert(git_oid_cmp(&a->new_oid, &b->new_oid) == 0);
-
- cl_assert(a->status - b->status == 0);
-
- cl_assert(strcmp(a->path, b->path) == 0);
-}
-
-static int diff_cb(const git_tree_diff_data *diff, void *data)
-{
- diff_cmp(diff, data);
- return GIT_SUCCESS;
-}
-
-static void test_diff(git_tree *a, git_tree *b, git_tree_diff_cb cb, void *data)
-{
- cl_must_pass(git_tree_diff(a, b, cb, data));
-
- cl_git_pass(git_index_read_tree(theindex, b));
- cl_git_pass(git_tree_diff_index_recursive(a, theindex, cb, data));
-}
-
-void test_object_tree_diff__initialize(void)
-{
- cl_git_pass(git_repository_open(&repo, cl_fixture("testrepo.git")));
- cl_git_pass(git_repository_index(&theindex, repo));
-}
-
-void test_object_tree_diff__cleanup(void)
-{
- git_tree_free(atree);
- git_tree_free(btree);
- git_index_free(theindex);
- git_repository_free(repo);
-}
-
-void test_object_tree_diff__addition(void)
-{
- char *astr = "181037049a54a1eb5fab404658a3a250b44335d7";
- char *bstr = "f60079018b664e4e79329a7ef9559c8d9e0378d1";
- git_tree_diff_data expect;
-
- memset(&expect, 0x0, sizeof(git_tree_diff_data));
- expect.old_attr = 0;
- expect.new_attr = 0100644;
- git_oid_fromstr(&expect.new_oid, "fa49b077972391ad58037050f2a75f74e3671e92");
- expect.status = GIT_STATUS_ADDED;
- expect.path = "new.txt";
-
- cl_must_pass(git_oid_fromstr(&aoid, astr));
- cl_must_pass(git_oid_fromstr(&boid, bstr));
-
- cl_must_pass(git_tree_lookup(&atree, repo, &aoid));
- cl_must_pass(git_tree_lookup(&btree, repo, &boid));
-
- test_diff(atree, btree, diff_cb, &expect);
-}
-
-void test_object_tree_diff__deletion(void)
-{
- char *astr = "f60079018b664e4e79329a7ef9559c8d9e0378d1";
- char *bstr = "181037049a54a1eb5fab404658a3a250b44335d7";
- git_tree_diff_data expect;
-
- memset(&expect, 0x0, sizeof(git_tree_diff_data));
- expect.old_attr = 0100644;
- expect.new_attr = 0;
- git_oid_fromstr(&expect.old_oid, "fa49b077972391ad58037050f2a75f74e3671e92");
- expect.status = GIT_STATUS_DELETED;
- expect.path = "new.txt";
- cl_must_pass(git_oid_fromstr(&aoid, astr));
- cl_must_pass(git_oid_fromstr(&boid, bstr));
-
- cl_must_pass(git_tree_lookup(&atree, repo, &aoid));
- cl_must_pass(git_tree_lookup(&btree, repo, &boid));
-
- test_diff(atree, btree, diff_cb, &expect);
-}
-
-void test_object_tree_diff__modification(void)
-{
- char *astr = "1810dff58d8a660512d4832e740f692884338ccd";
- char *bstr = "944c0f6e4dfa41595e6eb3ceecdb14f50fe18162";
- git_tree_diff_data expect;
-
- expect.old_attr = 0100644;
- expect.new_attr = 0100644;
- git_oid_fromstr(&expect.old_oid, "45b983be36b73c0788dc9cbcb76cbb80fc7bb057");
- git_oid_fromstr(&expect.new_oid, "3697d64be941a53d4ae8f6a271e4e3fa56b022cc");
- expect.status = GIT_STATUS_MODIFIED;
- expect.path = "branch_file.txt";
-
- cl_must_pass(git_oid_fromstr(&aoid, astr));
- cl_must_pass(git_oid_fromstr(&boid, bstr));
-
- cl_must_pass(git_tree_lookup(&atree, repo, &aoid));
- cl_must_pass(git_tree_lookup(&btree, repo, &boid));
-
- test_diff(atree, btree, diff_cb, &expect);
-}
-
-struct diff_more_data {
- git_tree_diff_data expect[3];
- int expect_idx;
-};
-
-static int diff_more_cb(const git_tree_diff_data *diff, void *data)
-{
- struct diff_more_data *more_data = data;
- diff_cmp(diff, &more_data->expect[more_data->expect_idx]);
-
- more_data->expect_idx = (more_data->expect_idx + 1) % ARRAY_SIZE(more_data->expect);
-
- return GIT_SUCCESS;
-}
-
-void test_object_tree_diff__more(void)
-{
- char *astr = "814889a078c031f61ed08ab5fa863aea9314344d";
- char *bstr = "75057dd4114e74cca1d750d0aee1647c903cb60a";
- struct diff_more_data more_data;
- git_tree_diff_data *expect = more_data.expect;
-
- memset(&more_data, 0x0, sizeof(struct diff_more_data));
- /* M README */
- expect[0].old_attr = 0100644;
- expect[0].new_attr = 0100644;
- git_oid_fromstr(&expect[0].old_oid, "a8233120f6ad708f843d861ce2b7228ec4e3dec6");
- git_oid_fromstr(&expect[0].new_oid, "1385f264afb75a56a5bec74243be9b367ba4ca08");
- expect[0].status = GIT_STATUS_MODIFIED;
- expect[0].path = "README";
- /* A branch_file.txt */
- expect[1].old_attr = 0;
- expect[1].new_attr = 0100644;
- git_oid_fromstr(&expect[1].new_oid, "45b983be36b73c0788dc9cbcb76cbb80fc7bb057");
- expect[1].status = GIT_STATUS_ADDED;
- expect[1].path = "branch_file.txt";
- /* M new.txt */
- expect[2].old_attr = 0100644;
- expect[2].new_attr = 0100644;
- git_oid_fromstr(&expect[2].old_oid, "a71586c1dfe8a71c6cbf6c129f404c5642ff31bd");
- git_oid_fromstr(&expect[2].new_oid, "fa49b077972391ad58037050f2a75f74e3671e92");
- expect[2].status = GIT_STATUS_MODIFIED;
- expect[2].path = "new.txt";
-
- cl_must_pass(git_oid_fromstr(&aoid, astr));
- cl_must_pass(git_oid_fromstr(&boid, bstr));
-
- cl_must_pass(git_tree_lookup(&atree, repo, &aoid));
- cl_must_pass(git_tree_lookup(&btree, repo, &boid));
-
- test_diff(atree, btree, diff_more_cb, &more_data);
-}
diff --git a/tests-clay/object/tree/frompath.c b/tests-clay/object/tree/frompath.c
deleted file mode 100644
index 06d08ac7b..000000000
--- a/tests-clay/object/tree/frompath.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include "clay_libgit2.h"
-
-static git_repository *repo;
-const char *tree_with_subtrees_oid = "ae90f12eea699729ed24555e40b9fd669da12a12";
-static git_tree *tree;
-
-void test_object_tree_frompath__initialize(void)
-{
- git_oid id;
-
- cl_fixture_sandbox("testrepo.git");
- cl_git_pass(git_repository_open(&repo, "testrepo.git"));
- cl_assert(repo != NULL);
-
- cl_git_pass(git_oid_fromstr(&id, tree_with_subtrees_oid));
- cl_git_pass(git_tree_lookup(&tree, repo, &id));
- cl_assert(tree != NULL);
-}
-
-void test_object_tree_frompath__cleanup(void)
-{
- git_tree_free(tree);
- git_repository_free(repo);
- cl_fixture_cleanup("testrepo.git");
-}
-
-static void assert_tree_from_path(git_tree *root, const char *path, git_error expected_result, const char *expected_raw_oid)
-{
- git_tree *containing_tree = NULL;
-
- cl_assert(git_tree_get_subtree(&containing_tree, root, path) == expected_result);
-
- if (containing_tree == NULL && expected_result != GIT_SUCCESS)
- return;
-
- cl_assert(containing_tree != NULL && expected_result == GIT_SUCCESS);
-
- cl_assert(git_oid_streq(git_object_id((const git_object *)containing_tree), expected_raw_oid) == GIT_SUCCESS);
-
- git_tree_free(containing_tree);
-}
-
-void test_object_tree_frompath__retrieve_tree_from_path_to_treeentry(void)
-{
- /* Will return self if given a one path segment... */
- assert_tree_from_path(tree, "README", GIT_SUCCESS, tree_with_subtrees_oid);
-
- /* ...even one that lead to a non existent tree entry. */
- assert_tree_from_path(tree, "i-do-not-exist.txt", GIT_SUCCESS, tree_with_subtrees_oid);
-
- /* Will return fgh tree oid given this following path... */
- assert_tree_from_path(tree, "ab/de/fgh/1.txt", GIT_SUCCESS, "3259a6bd5b57fb9c1281bb7ed3167b50f224cb54");
-
- /* ... and ab tree oid given this one. */
- assert_tree_from_path(tree, "ab/de", GIT_SUCCESS, "f1425cef211cc08caa31e7b545ffb232acb098c3");
-
- /* Will succeed if given a valid path which leads to a tree entry which doesn't exist */
- assert_tree_from_path(tree, "ab/de/fgh/i-do-not-exist.txt", GIT_SUCCESS, "3259a6bd5b57fb9c1281bb7ed3167b50f224cb54");
-}
-
-void test_object_tree_frompath__fail_when_processing_an_unknown_tree_segment(void)
-{
- assert_tree_from_path(tree, "nope/de/fgh/1.txt", GIT_ENOTFOUND, NULL);
- assert_tree_from_path(tree, "ab/me-neither/fgh/2.txt", GIT_ENOTFOUND, NULL);
-}
-
-void test_object_tree_frompath__fail_when_processing_an_invalid_path(void)
-{
- assert_tree_from_path(tree, "/", GIT_EINVALIDPATH, NULL);
- assert_tree_from_path(tree, "/ab", GIT_EINVALIDPATH, NULL);
- assert_tree_from_path(tree, "/ab/de", GIT_EINVALIDPATH, NULL);
- assert_tree_from_path(tree, "ab/", GIT_EINVALIDPATH, NULL);
- assert_tree_from_path(tree, "ab//de", GIT_EINVALIDPATH, NULL);
- assert_tree_from_path(tree, "ab/de/", GIT_EINVALIDPATH, NULL);
-}