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