Skip to content

Commit 8067a75

Browse files
committed
[irods/irods#6020] Test hook improvements
1 parent f440306 commit 8067a75

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

irods_consortium_continuous_integration_test_hook.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,29 @@ def main():
1313
parser = optparse.OptionParser()
1414
parser.add_option('--output_root_directory')
1515
parser.add_option('--built_packages_root_directory')
16+
parser.add_option('--test', metavar='dotted name',
17+
help='Space-delimited list of dotted test names.')
18+
parser.add_option('--skip-setup', action='store_false', dest='do_setup', default=True,
19+
help='If indicated, installing packages and configuration will be skipped.')
1620
options, _ = parser.parse_args()
1721

18-
output_root_directory = options.output_root_directory
19-
built_packages_root_directory = options.built_packages_root_directory
20-
plugin_dir = irods_python_ci_utilities.append_os_specific_directory(built_packages_root_directory)
21-
irods_python_ci_utilities.install_os_packages_from_files([os.path.join(plugin_dir, entry) for entry in os.listdir(plugin_dir)])
22-
irods_python_ci_utilities.subprocess_get_output(['sudo', 'su', '-', 'irods', '-c', 'python3 scripts/setup_python_rule_engine_as_only_rule_engine.py'], check_rc=True)
22+
if options.do_setup:
23+
built_packages_root_directory = options.built_packages_root_directory
24+
plugin_dir = irods_python_ci_utilities.append_os_specific_directory(built_packages_root_directory)
25+
irods_python_ci_utilities.install_os_packages_from_files([os.path.join(plugin_dir, entry) for entry in os.listdir(plugin_dir)])
26+
irods_python_ci_utilities.subprocess_get_output(['sudo', 'su', '-', 'irods', '-c', 'python3 scripts/setup_python_rule_engine_as_only_rule_engine.py'], check_rc=True)
2327

2428
test_output_file = 'log/test_output.log'
29+
30+
test_option = f'--run_specific_test={options.test}' if options.test else '--run_python_suite'
31+
2532
try:
26-
irods_python_ci_utilities.subprocess_get_output(['sudo', 'su', '-', 'irods', '-c', 'python3 scripts/run_tests.py --xml_output --run_python_suite > {0} 2>&1'.format(test_output_file)], check_rc=True)
33+
irods_python_ci_utilities.subprocess_get_output(['sudo', 'su', '-', 'irods', '-c',
34+
f'python3 scripts/run_tests.py --xml_output {test_option} 2>&1 | tee {test_output_file}; exit $PIPESTATUS'],
35+
check_rc=True)
36+
2737
finally:
38+
output_root_directory = options.output_root_directory
2839
if output_root_directory:
2940
irods_python_ci_utilities.subprocess_get_output(['sudo', 'su', '-', 'irods', '-c', 'chmod o+r -R {0}'.format(' '.join(['test-reports', 'log', test_output_file]))])
3041
shutil.copytree(os.path.join(os.path.expanduser('~irods'), 'test-reports'), os.path.join(output_root_directory, 'test-reports'))

0 commit comments

Comments
 (0)