diff options
Diffstat (limited to 'tests/libgit2/describe/describe_helpers.c')
-rw-r--r-- | tests/libgit2/describe/describe_helpers.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/libgit2/describe/describe_helpers.c b/tests/libgit2/describe/describe_helpers.c new file mode 100644 index 000000000..3df3b7c59 --- /dev/null +++ b/tests/libgit2/describe/describe_helpers.c @@ -0,0 +1,44 @@ +#include "describe_helpers.h" + +#include "wildmatch.h" + +void assert_describe( + const char *expected_output, + const char *revparse_spec, + git_repository *repo, + git_describe_options *opts, + git_describe_format_options *fmt_opts) +{ + git_object *object; + git_buf label = GIT_BUF_INIT; + git_describe_result *result; + + cl_git_pass(git_revparse_single(&object, repo, revparse_spec)); + + cl_git_pass(git_describe_commit(&result, object, opts)); + cl_git_pass(git_describe_format(&label, result, fmt_opts)); + + cl_must_pass(wildmatch(expected_output, label.ptr, 0)); + + git_describe_result_free(result); + git_object_free(object); + git_buf_dispose(&label); +} + +void assert_describe_workdir( + const char *expected_output, + git_repository *repo, + git_describe_options *opts, + git_describe_format_options *fmt_opts) +{ + git_buf label = GIT_BUF_INIT; + git_describe_result *result; + + cl_git_pass(git_describe_workdir(&result, repo, opts)); + cl_git_pass(git_describe_format(&label, result, fmt_opts)); + + cl_must_pass(wildmatch(expected_output, label.ptr, 0)); + + git_describe_result_free(result); + git_buf_dispose(&label); +} |