diff options
author | Edward Thomson <ethomson@microsoft.com> | 2014-12-16 19:24:04 -0600 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2014-12-17 13:05:27 -0500 |
commit | dce7b1a4e75551804a33591744d40d0582c57cfb (patch) | |
tree | fe3d7175cc770d1d3940a3d90672913817f5bc51 /tests/object/tree/attributes.c | |
parent | ec74b40ceef3dc3892c7d84bb4f5d99bab504ba4 (diff) | |
download | libgit2-dce7b1a4e75551804a33591744d40d0582c57cfb.tar.gz |
treebuilder: take a repository for path validation
Path validation may be influenced by `core.protectHFS` and
`core.protectNTFS` configuration settings, thus treebuilders
can take a repository to influence their configuration.
Diffstat (limited to 'tests/object/tree/attributes.c')
-rw-r--r-- | tests/object/tree/attributes.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/tests/object/tree/attributes.c b/tests/object/tree/attributes.c index 85216cd1b..14f3f89f9 100644 --- a/tests/object/tree/attributes.c +++ b/tests/object/tree/attributes.c @@ -1,9 +1,21 @@ #include "clar_libgit2.h" #include "tree.h" +static git_repository *repo; + static const char *blob_oid = "3d0970ec547fc41ef8a5882dde99c6adce65b021"; static const char *tree_oid = "1b05fdaa881ee45b48cbaa5e9b037d667a47745e"; +void test_object_tree_attributes__initialize(void) +{ + repo = cl_git_sandbox_init("deprecated-mode.git"); +} + +void test_object_tree_attributes__cleanup(void) +{ + cl_git_sandbox_cleanup(); +} + void test_object_tree_attributes__ensure_correctness_of_attributes_on_insertion(void) { git_treebuilder *builder; @@ -11,7 +23,7 @@ void test_object_tree_attributes__ensure_correctness_of_attributes_on_insertion( cl_git_pass(git_oid_fromstr(&oid, blob_oid)); - cl_git_pass(git_treebuilder_create(&builder, NULL)); + cl_git_pass(git_treebuilder_create(&builder, repo, NULL)); cl_git_fail(git_treebuilder_insert(NULL, builder, "one.txt", &oid, (git_filemode_t)0777777)); cl_git_fail(git_treebuilder_insert(NULL, builder, "one.txt", &oid, (git_filemode_t)0100666)); @@ -22,7 +34,6 @@ void test_object_tree_attributes__ensure_correctness_of_attributes_on_insertion( void test_object_tree_attributes__group_writable_tree_entries_created_with_an_antique_git_version_can_still_be_accessed(void) { - git_repository *repo; git_oid tid; git_tree *tree; const git_tree_entry *entry; @@ -38,7 +49,6 @@ void test_object_tree_attributes__group_writable_tree_entries_created_with_an_an git_tree_entry_filemode(entry)); git_tree_free(tree); - git_repository_free(repo); } void test_object_tree_attributes__treebuilder_reject_invalid_filemode(void) @@ -48,7 +58,7 @@ void test_object_tree_attributes__treebuilder_reject_invalid_filemode(void) const git_tree_entry *entry; cl_git_pass(git_oid_fromstr(&bid, blob_oid)); - cl_git_pass(git_treebuilder_create(&builder, NULL)); + cl_git_pass(git_treebuilder_create(&builder, repo, NULL)); cl_git_fail(git_treebuilder_insert( &entry, @@ -62,25 +72,22 @@ void test_object_tree_attributes__treebuilder_reject_invalid_filemode(void) void test_object_tree_attributes__normalize_attributes_when_creating_a_tree_from_an_existing_one(void) { - git_repository *repo; git_treebuilder *builder; git_oid tid, tid2; git_tree *tree; const git_tree_entry *entry; - repo = cl_git_sandbox_init("deprecated-mode.git"); - cl_git_pass(git_oid_fromstr(&tid, tree_oid)); cl_git_pass(git_tree_lookup(&tree, repo, &tid)); - cl_git_pass(git_treebuilder_create(&builder, tree)); + cl_git_pass(git_treebuilder_create(&builder, repo, tree)); entry = git_treebuilder_get(builder, "old_mode.txt"); cl_assert_equal_i( GIT_FILEMODE_BLOB, git_tree_entry_filemode(entry)); - cl_git_pass(git_treebuilder_write(&tid2, repo, builder)); + cl_git_pass(git_treebuilder_write(&tid2, builder)); git_treebuilder_free(builder); git_tree_free(tree); @@ -91,18 +98,14 @@ void test_object_tree_attributes__normalize_attributes_when_creating_a_tree_from git_tree_entry_filemode(entry)); git_tree_free(tree); - cl_git_sandbox_cleanup(); } void test_object_tree_attributes__normalize_600(void) { git_oid id; git_tree *tree; - git_repository *repo; const git_tree_entry *entry; - repo = cl_git_sandbox_init("deprecated-mode.git"); - git_oid_fromstr(&id, "0810fb7818088ff5ac41ee49199b51473b1bd6c7"); cl_git_pass(git_tree_lookup(&tree, repo, &id)); @@ -111,5 +114,4 @@ void test_object_tree_attributes__normalize_600(void) cl_assert_equal_i(git_tree_entry_filemode_raw(entry), 0100600); git_tree_free(tree); - cl_git_sandbox_cleanup(); } |