summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2017-12-18 23:11:24 +0000
committerEdward Thomson <ethomson@edwardthomson.com>2018-02-01 16:50:30 -0800
commite118231b02a0744a6b87c65d9e3487c5931ef3a4 (patch)
tree1ed7410134ab265db204b9b56a1f6a16672ed0a7
parent1118ba3eaf5bbb28637b85ad006cce2e804a82d4 (diff)
downloadlibgit2-e118231b02a0744a6b87c65d9e3487c5931ef3a4.tar.gz
odb_loose: test read_header explicitly
-rw-r--r--tests/odb/loose.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/odb/loose.c b/tests/odb/loose.c
index 220712869..83d080729 100644
--- a/tests/odb/loose.c
+++ b/tests/odb/loose.c
@@ -55,6 +55,25 @@ static void test_read_object(object_data *data)
git_odb_free(odb);
}
+static void test_read_header(object_data *data)
+{
+ git_oid id;
+ git_odb *odb;
+ size_t len;
+ git_otype type;
+
+ write_object_files(data);
+
+ cl_git_pass(git_odb_open(&odb, "test-objects"));
+ cl_git_pass(git_oid_fromstr(&id, data->id));
+ cl_git_pass(git_odb_read_header(&len, &type, odb, &id));
+
+ cl_assert_equal_sz(data->dlen, len);
+ cl_assert_equal_i(git_object_string2type(data->type), type);
+
+ git_odb_free(odb);
+}
+
static void test_readstream_object(object_data *data, size_t blocksize)
{
git_oid id;
@@ -157,6 +176,17 @@ void test_odb_loose__streaming_reads(void)
}
}
+void test_odb_loose__read_header(void)
+{
+ test_read_header(&commit);
+ test_read_header(&tree);
+ test_read_header(&tag);
+ test_read_header(&zero);
+ test_read_header(&one);
+ test_read_header(&two);
+ test_read_header(&some);
+}
+
void test_write_object_permission(
mode_t dir_mode, mode_t file_mode,
mode_t expected_dir_mode, mode_t expected_file_mode)