diff --git a/tests/test-runner.c b/tests/test-runner.c index 3ba9519..139a5ec 100644 --- a/tests/test-runner.c +++ b/tests/test-runner.c @@ -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);