]>
git.proxmox.com Git - libgit2.git/blob - tests/repo/extensions.c
1 #include "clar_libgit2.h"
8 void test_repo_extensions__initialize(void)
12 repo
= cl_git_sandbox_init("empty_bare.git");
14 cl_git_pass(git_repository_config(&config
, repo
));
15 cl_git_pass(git_config_set_int32(config
, "core.repositoryformatversion", 1));
16 git_config_free(config
);
19 void test_repo_extensions__cleanup(void)
21 cl_git_sandbox_cleanup();
22 cl_git_pass(git_libgit2_opts(GIT_OPT_SET_EXTENSIONS
, NULL
, 0));
25 void test_repo_extensions__builtin(void)
27 git_repository
*extended
;
29 cl_repo_set_string(repo
, "extensions.noop", "foobar");
31 cl_git_pass(git_repository_open(&extended
, "empty_bare.git"));
32 cl_assert(git_repository_path(extended
) != NULL
);
33 cl_assert(git__suffixcmp(git_repository_path(extended
), "/") == 0);
34 git_repository_free(extended
);
37 void test_repo_extensions__negate_builtin(void)
39 const char *in
[] = { "foo", "!noop", "baz" };
40 git_repository
*extended
;
42 cl_repo_set_string(repo
, "extensions.noop", "foobar");
44 cl_git_pass(git_libgit2_opts(GIT_OPT_SET_EXTENSIONS
, in
, ARRAY_SIZE(in
)));
46 cl_git_fail(git_repository_open(&extended
, "empty_bare.git"));
47 git_repository_free(extended
);
50 void test_repo_extensions__unsupported(void)
52 git_repository
*extended
= NULL
;
54 cl_repo_set_string(repo
, "extensions.unknown", "foobar");
56 cl_git_fail(git_repository_open(&extended
, "empty_bare.git"));
57 git_repository_free(extended
);
60 void test_repo_extensions__adds_extension(void)
62 const char *in
[] = { "foo", "!noop", "newextension", "baz" };
63 git_repository
*extended
;
65 cl_repo_set_string(repo
, "extensions.newextension", "foobar");
66 cl_git_pass(git_libgit2_opts(GIT_OPT_SET_EXTENSIONS
, in
, ARRAY_SIZE(in
)));
68 cl_git_pass(git_repository_open(&extended
, "empty_bare.git"));
69 cl_assert(git_repository_path(extended
) != NULL
);
70 cl_assert(git__suffixcmp(git_repository_path(extended
), "/") == 0);
71 git_repository_free(extended
);