mirror of https://github.com/pulumi/pulumi.git
46 lines
992 B
Python
46 lines
992 B
Python
"""
|
|
Wraps test suite invocation shell commands to measure time and
|
|
provide awareness of test configurations set by PULUMI_TEST_SUBSET.
|
|
"""
|
|
|
|
from test_subsets import TEST_SUBSETS
|
|
import os
|
|
import subprocess as sp
|
|
import sys
|
|
import timeit
|
|
|
|
|
|
testsuite_name = sys.argv[1]
|
|
testsuite_command = sys.argv[2:]
|
|
test_subset = os.environ.get('PULUMI_TEST_SUBSET', None)
|
|
|
|
|
|
def should_run():
|
|
if test_subset is None:
|
|
return True
|
|
|
|
if test_subset == 'etc':
|
|
s = set([])
|
|
|
|
for k in TEST_SUBSETS:
|
|
s = s | set(TEST_SUBSETS[k])
|
|
|
|
return testsuite_name not in s
|
|
|
|
s = set(TEST_SUBSETS[test_subset])
|
|
return testsuite_name in s
|
|
|
|
|
|
if not should_run():
|
|
print(f'TESTSUITE {testsuite_name} skipped according to PULUMI_TEST_SUBSET={test_subset}')
|
|
sys.exit(0)
|
|
|
|
|
|
t0 = timeit.timeit()
|
|
try:
|
|
sp.check_call(testsuite_command, shell=False)
|
|
finally:
|
|
t1 = timeit.timeit()
|
|
elapsed = t1 - t0
|
|
print(f'TESTSUITE {testsuite_name} completed in {elapsed}')
|