Skip to content

Commit 0a82344

Browse files
committed
[irods/irods#6020] Test hook improvements
1 parent b38b95c commit 0a82344

1 file changed

Lines changed: 20 additions & 6 deletions

File tree

irods_consortium_continuous_integration_test_hook.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,32 @@ 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', 'python2 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', 'python2 scripts/setup_python_rule_engine_as_only_rule_engine.py'], check_rc=True)
2327

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

0 commit comments

Comments
 (0)