mirror of
https://github.com/pkgconf/pkgconf.git
synced 2026-01-26 16:09:27 +00:00
tests: harness: add AtLeastVersion, ExactVersion and MaxVersion options
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
This commit is contained in:
parent
4a49b50e3b
commit
e574c85325
@ -66,6 +66,10 @@ typedef struct test_case_ {
|
||||
pkgconf_list_t define_variables;
|
||||
|
||||
int verbosity;
|
||||
|
||||
pkgconf_buffer_t atleast_version;
|
||||
pkgconf_buffer_t exact_version;
|
||||
pkgconf_buffer_t max_version;
|
||||
} pkgconf_test_case_t;
|
||||
|
||||
typedef struct test_state_ {
|
||||
@ -456,14 +460,17 @@ test_keyword_set_environment(pkgconf_test_case_t *testcase, const char *keyword,
|
||||
}
|
||||
|
||||
static const pkgconf_test_keyword_pair_t test_keyword_pairs[] = {
|
||||
{"AtLeastVersion", test_keyword_set_buffer, offsetof(pkgconf_test_case_t, atleast_version)},
|
||||
{"DefineVariable", test_keyword_extend_bufferset, offsetof(pkgconf_test_case_t, define_variables)},
|
||||
{"Environment", test_keyword_set_environment, offsetof(pkgconf_test_case_t, env_vars)},
|
||||
{"ExactVersion", test_keyword_set_buffer, offsetof(pkgconf_test_case_t, exact_version)},
|
||||
{"ExpectedExitCode", test_keyword_set_int, offsetof(pkgconf_test_case_t, exitcode)},
|
||||
{"ExpectedStderr", test_keyword_extend_bufferset, offsetof(pkgconf_test_case_t, expected_stderr)},
|
||||
{"ExpectedStdout", test_keyword_extend_bufferset, offsetof(pkgconf_test_case_t, expected_stdout)},
|
||||
{"FragmentFilter", test_keyword_set_buffer, offsetof(pkgconf_test_case_t, fragment_filter)},
|
||||
{"MatchStderr", test_keyword_set_match_strategy, offsetof(pkgconf_test_case_t, match_stderr)},
|
||||
{"MatchStdout", test_keyword_set_match_strategy, offsetof(pkgconf_test_case_t, match_stdout)},
|
||||
{"MaxVersion", test_keyword_set_buffer, offsetof(pkgconf_test_case_t, max_version)},
|
||||
{"PackageSearchPath", test_keyword_set_path_list, offsetof(pkgconf_test_case_t, search_path)},
|
||||
{"Query", test_keyword_set_buffer, offsetof(pkgconf_test_case_t, query)},
|
||||
{"SkipPlatforms", test_keyword_set_buffer, offsetof(pkgconf_test_case_t, skip_platforms)},
|
||||
@ -704,6 +711,9 @@ run_test_case(const pkgconf_test_case_t *testcase)
|
||||
.cli_state.want_env_prefix = pkgconf_buffer_str(&testcase->want_env_prefix),
|
||||
.cli_state.want_variable = pkgconf_buffer_str(&testcase->want_variable),
|
||||
.cli_state.want_fragment_filter = pkgconf_buffer_str(&testcase->fragment_filter),
|
||||
.cli_state.required_module_version = pkgconf_buffer_str(&testcase->atleast_version),
|
||||
.cli_state.required_exact_module_version = pkgconf_buffer_str(&testcase->exact_version),
|
||||
.cli_state.required_max_module_version = pkgconf_buffer_str(&testcase->max_version),
|
||||
.cli_state.verbosity = testcase->verbosity,
|
||||
.testcase = testcase,
|
||||
};
|
||||
@ -791,6 +801,9 @@ free_test_case(pkgconf_test_case_t *testcase)
|
||||
pkgconf_buffer_finalize(&testcase->want_variable);
|
||||
pkgconf_buffer_finalize(&testcase->fragment_filter);
|
||||
pkgconf_buffer_finalize(&testcase->skip_platforms);
|
||||
pkgconf_buffer_finalize(&testcase->atleast_version);
|
||||
pkgconf_buffer_finalize(&testcase->exact_version);
|
||||
pkgconf_buffer_finalize(&testcase->max_version);
|
||||
|
||||
free(testcase->name);
|
||||
free(testcase);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user