diff options
Diffstat (limited to 'tests-clar/clar_helpers.c')
-rw-r--r-- | tests-clar/clar_helpers.c | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/tests-clar/clar_helpers.c b/tests-clar/clar_helpers.c deleted file mode 100644 index d180285b8..000000000 --- a/tests-clar/clar_helpers.c +++ /dev/null @@ -1,100 +0,0 @@ -#include "clar_libgit2.h" -#include "posix.h" - -void clar_on_init(void) -{ - git_threads_init(); -} - -void clar_on_shutdown(void) -{ - git_threads_shutdown(); -} - -void cl_git_mkfile(const char *filename, const char *content) -{ - int fd; - - fd = p_creat(filename, 0666); - cl_assert(fd != 0); - - if (content) { - cl_must_pass(p_write(fd, content, strlen(content))); - } else { - cl_must_pass(p_write(fd, filename, strlen(filename))); - cl_must_pass(p_write(fd, "\n", 1)); - } - - cl_must_pass(p_close(fd)); -} - -void cl_git_write2file(const char *filename, const char *new_content, int flags) -{ - int fd = p_open(filename, flags, 0644); - cl_assert(fd >= 0); - if (!new_content) - new_content = "\n"; - cl_must_pass(p_write(fd, new_content, strlen(new_content))); - cl_must_pass(p_close(fd)); -} - -void cl_git_append2file(const char *filename, const char *new_content) -{ - cl_git_write2file(filename, new_content, O_WRONLY | O_CREAT | O_APPEND); -} - -void cl_git_rewritefile(const char *filename, const char *new_content) -{ - cl_git_write2file(filename, new_content, O_WRONLY | O_CREAT | O_TRUNC); -} - -static const char *_cl_sandbox = NULL; -static git_repository *_cl_repo = NULL; - -git_repository *cl_git_sandbox_init(const char *sandbox) -{ - /* Copy the whole sandbox folder from our fixtures to our test sandbox - * area. After this it can be accessed with `./sandbox` - */ - cl_fixture_sandbox(sandbox); - _cl_sandbox = sandbox; - - cl_git_pass(p_chdir(sandbox)); - - /* If this is not a bare repo, then rename `sandbox/.gitted` to - * `sandbox/.git` which must be done since we cannot store a folder - * named `.git` inside the fixtures folder of our libgit2 repo. - */ - if (p_access(".gitted", F_OK) == 0) - cl_git_pass(p_rename(".gitted", ".git")); - - /* If we have `gitattributes`, rename to `.gitattributes`. This may - * be necessary if we don't want the attributes to be applied in the - * libgit2 repo, but just during testing. - */ - if (p_access("gitattributes", F_OK) == 0) - cl_git_pass(p_rename("gitattributes", ".gitattributes")); - - /* As with `gitattributes`, we may need `gitignore` just for testing. */ - if (p_access("gitignore", F_OK) == 0) - cl_git_pass(p_rename("gitignore", ".gitignore")); - - cl_git_pass(p_chdir("..")); - - /* Now open the sandbox repository and make it available for tests */ - cl_git_pass(git_repository_open(&_cl_repo, sandbox)); - - return _cl_repo; -} - -void cl_git_sandbox_cleanup(void) -{ - if (_cl_repo) { - git_repository_free(_cl_repo); - _cl_repo = NULL; - } - if (_cl_sandbox) { - cl_fixture_cleanup(_cl_sandbox); - _cl_sandbox = NULL; - } -} |