aboutsummaryrefslogtreecommitdiffstats
path: root/test/fixtures_ws.py
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2019-01-21 15:05:37 +0100
committerPeter Wu <peter@lekensteyn.nl>2019-01-21 16:46:17 +0000
commit0971d204525108ec36760d839613b2fb2eadcaa7 (patch)
treea8e8a765905f812ee10c1b6bf83776a9dd11aa62 /test/fixtures_ws.py
parent70d9bfbf33ea35879f091df00a0c35bc6fd146f6 (diff)
test: fail tests when programs are missing
Building only a subset of programs is not a very common situation, it is more likely that some feature was accidentally disabled. For that reason, fail tests by default unless a program is explicitly permitted to be missing. The '-v' test is now dropped from the Travis tests, the sole reason of adding it was to see which tests got (accidentally) skipped. Change-Id: I725f4508541d8ed980e17d69fb7aee1ad2875d73 Reviewed-on: https://code.wireshark.org/review/31660 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'test/fixtures_ws.py')
-rw-r--r--test/fixtures_ws.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/test/fixtures_ws.py b/test/fixtures_ws.py
index 9999576c30..4b408acd5b 100644
--- a/test/fixtures_ws.py
+++ b/test/fixtures_ws.py
@@ -72,14 +72,20 @@ def program_path(request):
@fixtures.fixture(scope='session')
-def program(program_path):
+def program(program_path, request):
+ skip_if_missing = request.config.getoption('--skip-missing-programs',
+ default='')
+ skip_if_missing = skip_if_missing.split(',') if skip_if_missing else []
+ dotexe = ''
+ if sys.platform.startswith('win32'):
+ dotexe = '.exe'
+
def resolver(name):
- dotexe = ''
- if sys.platform.startswith('win32'):
- dotexe = '.exe'
path = os.path.abspath(os.path.join(program_path, name + dotexe))
if not os.access(path, os.X_OK):
- fixtures.skip('Program %s is not available' % (name,))
+ if skip_if_missing == ['all'] or name in skip_if_missing:
+ fixtures.skip('Program %s is not available' % (name,))
+ raise AssertionError('Program %s is not available' % (name,))
return path
return resolver