diff options
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2018-12-22 22:24:41 -0800 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2019-01-04 11:10:47 +1000 |
commit | 2d403709d97cca381873a9d56cd37f51c0f3eade (patch) | |
tree | 201ca01daaeaf3a242c78684ea5fc5e7ff23758f /test/pacman/meson.build | |
parent | ecac357c1a20f3e09ae979397e5efd225b03f895 (diff) | |
download | pacman-2d403709d97cca381873a9d56cd37f51c0f3eade.tar.xz |
allow tests for disabled features to be skipped
Previously, pacman's test suite would fail when compiled without
signature support.
Adds a require_capability method to pmtest objects. Currently
recognized values are 'gpg', 'curl', and 'nls'; although only gpg is
used presently. Missing features are indicated by running pactest with
one of the --without-<feature> options.
This modifies pmenv to run each case as independent tests. Previously,
a single pmenv could run multiple tests, combining there output into
a single TAP stream but making it impossible to properly skip an entire
test case. This change does not affect running pactest.py with a single
test (as both autotools and meson do), but will affect anybody manually
running pactest.py with multiple tests at once.
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'test/pacman/meson.build')
-rw-r--r-- | test/pacman/meson.build | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/test/pacman/meson.build b/test/pacman/meson.build index 3ad1fcd0..5edbbd43 100644 --- a/test/pacman/meson.build +++ b/test/pacman/meson.build @@ -342,19 +342,26 @@ foreach testobj : pacman_tests input = testobj.get('name') test_name = input.split('/')[1] should_fail = testobj.get('should_fail', false) + args = [ + join_paths(meson.source_root(), 'build-aux/tap-driver.py'), + join_paths(meson.current_source_dir(), 'pactest.py'), + '--scriptlet-shell', get_option('scriptlet-shell'), + '--bindir', meson.build_root(), + '--ldconfig', LDCONFIG, + '--verbose', + join_paths(meson.current_source_dir(), input) + ] + if not conf.get('HAVE_LIBCURL') + args += '--without-curl' + endif + if not conf.get('HAVE_LIBGPGME') + args += '--without-gpg' + endif test( test_name, PYTHON, - args : [ - join_paths(meson.source_root(), 'build-aux/tap-driver.py'), - join_paths(meson.current_source_dir(), 'pactest.py'), - '--scriptlet-shell', get_option('scriptlet-shell'), - '--bindir', meson.build_root(), - '--ldconfig', LDCONFIG, - '--verbose', - join_paths(meson.current_source_dir(), input) - ], + args : args, depends : [pacman_bin], should_fail : should_fail) endforeach |