summaryrefslogtreecommitdiff
path: root/test/pacman/meson.build
diff options
context:
space:
mode:
authorAndrew Gregory <andrew.gregory.8@gmail.com>2018-12-22 22:24:41 -0800
committerAllan McRae <allan@archlinux.org>2019-01-04 11:10:47 +1000
commit2d403709d97cca381873a9d56cd37f51c0f3eade (patch)
tree201ca01daaeaf3a242c78684ea5fc5e7ff23758f /test/pacman/meson.build
parentecac357c1a20f3e09ae979397e5efd225b03f895 (diff)
downloadpacman-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.build25
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