4545DATA_DIR = "%s/data" % BASE_PATH
4646LOG_DIR = "%s/results" % BASE_PATH
4747
48- logger = logger_init (filepath = BASE_PATH ).getlogger ()
49-
5048
5149class TestSuite ():
5250 guest_add_args = ""
@@ -93,9 +91,8 @@ def config(self):
9391 os .system (cmd )
9492 self .conf = cfg
9593 elif self .type == 'host' :
96- local_cfg = "%s/%s/%s.cfg" % (TEST_CONF_PATH ,
97- self .type ,
98- self .shortname )
94+ local_cfg = "%s/%s.cfg" % (TEST_CONF_PATH ,
95+ self .conf .replace ('_' ,'/' , 1 )
9996 if not os .path .isfile (local_cfg ):
10097 return self .conf
10198 self .conf = local_cfg
@@ -384,6 +381,26 @@ def run_test(testsuite, avocado_bin):
384381 return
385382
386383
384+ def log_files (test_list , log_dir ):
385+ """
386+ Log the test config files, input file, norun config files, command line.
387+ """
388+ with open (os .path .join (log_dir , "command.txt" ), "w" ) as fp :
389+ fp .write (" " .join (sys .argv ))
390+ fp .write ("\n " )
391+
392+ no_run_tests = os .path .join (log_dir , "no_run_tests" )
393+ helper .copy_file (NORUNTEST_PATH , no_run_tests )
394+
395+ config_path = os .path .join (log_dir , "test_configs" )
396+ for test in test_list :
397+ helper .copy_file (Testsuites [test ].config (), config_path )
398+
399+ if args .inputfile :
400+ input_file = os .path .join (log_dir , "input_file" )
401+ helper .copy_file (args .inputfile , input_file )
402+
403+
387404def env_clean ():
388405 """
389406 Clean/uninstall avocado and autotest
@@ -587,6 +604,21 @@ def parse_test_config(test_config_file, avocado_bin, enable_kvm):
587604 default = False , help = 'enable bootstrap kvm tests' )
588605
589606 args = parser .parse_args ()
607+
608+ if args .outputdir :
609+ # Check if it is valid path
610+ if not os .path .isdir (os .path .abspath (args .outputdir )):
611+ raise ValueError ("No output dir" )
612+ outputdir = args .outputdir
613+ else :
614+ outputdir = BASE_PATH
615+ timeObj = time .localtime (time .time ())
616+ log_dir = os .path .join (outputdir , "%d-%d-%d_%d_%d_%d" % (timeObj .tm_mday , timeObj .tm_mon , timeObj .tm_year ,
617+ timeObj .tm_hour , timeObj .tm_min , timeObj .tm_sec ))
618+ os .makedirs (log_dir )
619+ logger = helper .get_logger (log_dir )
620+ outputdir = os .path .join (log_dir , "results" )
621+
590622 if helper .get_machine_type () == 'pHyp' :
591623 args .enable_kvm = False
592624 if args .run_suite :
@@ -604,13 +636,6 @@ def parse_test_config(test_config_file, avocado_bin, enable_kvm):
604636 additional_args = args .add_args
605637 if args .verbose :
606638 additional_args += ' --show-job-log'
607- if args .outputdir :
608- # Check if it valid path
609- if not os .path .isdir (os .path .abspath (args .outputdir )):
610- raise ValueError ("No output dir" )
611- outputdir = os .path .join (args .outputdir , 'results' )
612- else :
613- outputdir = os .path .join (BASE_PATH , 'results' )
614639
615640 additional_args += ' --job-results-dir %s' % outputdir
616641 bootstraped = False
@@ -685,6 +710,7 @@ def parse_test_config(test_config_file, avocado_bin, enable_kvm):
685710 outputdir , args .vt_type ,
686711 test ['test' ], test ['mux' ],
687712 test ['args' ])
713+ Testsuites [test_suite_name ].conf = test_suite
688714 Testsuites_list .append (test_suite_name )
689715
690716 if 'guest' in test_suite :
@@ -696,6 +722,10 @@ def parse_test_config(test_config_file, avocado_bin, enable_kvm):
696722 Testsuites [test_suite ].runstatus ("Cant_Run" ,
697723 "Config file not present" )
698724 continue
725+
726+ # Log config files
727+ log_files (Testsuites_list , log_dir )
728+
699729 # Run Tests
700730 for test_suite in Testsuites_list :
701731 if not Testsuites [test_suite ].run == "Cant_Run" :
@@ -711,7 +741,9 @@ def parse_test_config(test_config_file, avocado_bin, enable_kvm):
711741 Testsuites [test_suite ].run ,
712742 Testsuites [test_suite ].runsummary ))
713743 summary_output .append (Testsuites [test_suite ].runlink )
744+ summary_output .append ("" )
714745 logger .info ("\n " .join (summary_output ))
746+ logger .info ("Results and Configs logged at: %s" % log_dir )
715747
716748 if os .path .isdir ("/tmp/mux/" ):
717749 logger .info ("Removing temporary mux dir" )
0 commit comments