Add --skip-windows option

This commit is contained in:
Anton Tayanovskyy 2021-11-23 11:38:07 -05:00
parent b6b78cc3b2
commit 06a4b5b044

View file

@ -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)