testcase1 option1 avalue option2 bvalue clean testcase2 option1 cvalue option2 dvalue clean --- generator.py | 44 ++++++++++++++++++++++++++++++++------------ 1 files changed, 32 insertions(+), 12 deletions(-) diff --git a/generator.py b/generator.py index 5a3a2ab..2d59353 100644 --- a/generator.py +++ b/generator.py @@ -41,6 +41,7 @@ class FuncGen(object): self.lockfile = lockfile self.bugstxt = bugstxt self.loglevel = loglevel + self.testcase_number = 0 self.fmt = format.Format(logfile) self.log_xml_parser = log_xml_parser @@ -49,19 +50,21 @@ class FuncGen(object): self.__case_info_save(activity, testrunid) mapper_obj = mapper.Mapper(activity) - pkg_tripped_cases = mapper_obj.get_package_tripped() + pkg_casename_func = mapper_obj.package_casename_func_map() - for test_procedure in pkg_tripped_cases: + for test_procedure in pkg_casename_func: log_xml_parser.add_testprocedure_xml(testrunid, testid, test_procedure) self.cases_ref_names = [] - for case in pkg_tripped_cases: + for case in pkg_casename_func: case_ref_name = case.keys()[0] + if case_ref_name[-6:] != "_clean": + self.testcase_number += 1 self.cases_ref_names.append(case_ref_name) self.cases_params_list = [] - for case in pkg_tripped_cases: + for case in pkg_casename_func: case_params = case.values()[0] self.cases_params_list.append(case_params) @@ -101,7 +104,7 @@ class FuncGen(object): envlog = log.EnvLog(self.logfile, self.loglevel) logger = envlog.env_log() - testcase_number = len(self.cases_ref_names) + loop_number = len(self.cases_ref_names) start_time = time.strftime("%Y-%m-%d %H:%M:%S") logger.info("Checking Testing Environment... ") @@ -111,7 +114,7 @@ class FuncGen(object): sys.exit(1) else: logger.info("\nStart Testing:") - logger.info(" Case Count: %s" % testcase_number) + logger.info(" Case Count: %s" % self.testcase_number) logger.info(" Log File: %s\n" % self.logfile) del envlog @@ -119,21 +122,31 @@ class FuncGen(object): logger = caselog.case_log() retflag = 0 - for i in range(testcase_number): + for i in range(loop_number): case_ref_name = self.cases_ref_names[i] - self.fmt.printf('start', case_ref_name) + pkg_casename = case_ref_name.rpartition(":")[0] + funcname = case_ref_name.rpartition(":")[-1] + + cleanoper = 0 if "_clean" not in funcname else 1 + + if not cleanoper: + self.fmt.printf('start', pkg_casename) + else: + self.fmt.printf('string', 12*" " + "Cleaning...") + case_params = self.cases_params_list[i] case_start_time = time.strftime("%Y-%m-%d %H:%M:%S") ret = -1 + clean_ret = -1 try: try: if case_ref_name != 'sleep': case_params['logger'] = logger - existed_bug_list = self.bug_check(case_ref_name) + existed_bug_list = self.bug_check(pkg_casename) if len(existed_bug_list) == 0: if case_ref_name == 'sleep': @@ -143,13 +156,16 @@ class FuncGen(object): ret = 0 else: ret = self.cases_func_ref_dict[case_ref_name](case_params) + if cleanoper: + clean_ret = ret + ret = 0 else: logger.info("about the testcase , bug existed:") for existed_bug in existed_bug_list: logger.info("%s" % existed_bug) ret = 100 - self.fmt.printf('end', case_ref_name, ret) + self.fmt.printf('end', pkg_casename, ret) continue except Exception, e: logger.error(traceback.format_exc()) @@ -163,7 +179,11 @@ class FuncGen(object): else: pass retflag += ret - self.fmt.printf('end', case_ref_name, ret) + + if not cleanoper: + self.fmt.printf('end', pkg_casename, ret) + else: + self.fmt.printf('string', 21*" " + "Done" if clean_ret < 1 else 21*" " + "Fail") end_time = time.strftime("%Y-%m-%d %H:%M:%S") del caselog @@ -172,7 +192,7 @@ class FuncGen(object): logger = envlog.env_log() logger.info("\nSummary:") logger.info(" Total:%s [Pass:%s Fail:%s]" % \ - (testcase_number, (testcase_number - retflag), retflag)) + (self.testcase_number, (self.testcase_number - retflag), retflag)) del envlog result = (retflag and "FAIL") or "PASS" -- 1.7.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list