#include "describe_helpers.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(p_fnmatch(expected_output, git_buf_cstr(&label), 0)); git_describe_result_free(result); git_object_free(object); git_buf_free(&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(p_fnmatch(expected_output, git_buf_cstr(&label), 0)); git_describe_result_free(result); git_buf_free(&label); }