Add --skip-windows option
This commit is contained in:
parent
b6b78cc3b2
commit
06a4b5b044
|
@ -1,5 +1,5 @@
|
|||
"""Determines if a testsuite is skipped according to
|
||||
PULUMI_TEST_SUBSET.
|
||||
`PULUMI_TEST_SUBSET` or `--skip-windows`.
|
||||
|
||||
"""
|
||||
|
||||
|
@ -7,30 +7,48 @@ from test_subsets import TEST_SUBSETS
|
|||
import os
|
||||
import sys
|
||||
|
||||
args = sys.argv[1:]
|
||||
|
||||
testsuite_name = sys.argv[1]
|
||||
testsuite_command = sys.argv[2:]
|
||||
skip_windows = False
|
||||
if args and args[0] == '--skip-windows':
|
||||
args = args[1:]
|
||||
skip_windows = True
|
||||
|
||||
testsuite_name = args[0]
|
||||
testsuite_command = args[1:]
|
||||
test_subset = os.environ.get('PULUMI_TEST_SUBSET', None)
|
||||
|
||||
|
||||
def should_run():
|
||||
def get_skip_reason():
|
||||
|
||||
if skip_windows and os.name == 'nt':
|
||||
return 'on Windows'
|
||||
|
||||
if test_subset is None:
|
||||
return True
|
||||
return None # do not skip
|
||||
|
||||
if test_subset == 'etc':
|
||||
s = set([])
|
||||
|
||||
matching_subset = None
|
||||
|
||||
for k in TEST_SUBSETS:
|
||||
s = s | set(TEST_SUBSETS[k])
|
||||
if testsuite_name in TEST_SUBSETS[k]:
|
||||
matching_subset = k
|
||||
|
||||
return testsuite_name not in s
|
||||
if matching_subset is not None:
|
||||
return f'in PULUMI_TEST_SUBSET={matching_subset}, not etc'
|
||||
|
||||
s = set(TEST_SUBSETS[test_subset])
|
||||
return testsuite_name in s
|
||||
return None # do not skip
|
||||
|
||||
if testsuite_name not in set(TEST_SUBSETS[test_subset]):
|
||||
return f'not in PULUMI_TEST_SUBSET={test_subset}'
|
||||
|
||||
return None # do no skip
|
||||
|
||||
|
||||
if not should_run():
|
||||
print(f'TESTSUITE {testsuite_name} skipped according to PULUMI_TEST_SUBSET={test_subset}')
|
||||
skip_reason = get_skip_reason()
|
||||
if skip_reason is not None:
|
||||
print(f'TESTSUITE {testsuite_name} skipped: {skip_reason}')
|
||||
sys.exit(0)
|
||||
else:
|
||||
sys.exit(1)
|
||||
|
|
Loading…
Reference in a new issue