将内核生成的打印信息,提出后,得到相关的cases信息

来源:互联网 发布:木天蓼对猫的作用知乎 编辑:程序博客网 时间:2024/06/07 17:43


将testcast, result,total tests, total skipped tests, total failure整理正csve文档

ModuleTestSuitTestCaseResultTotal TestsTotal Skipped TestsTotal Failuresddtsata_dvd_detectSATA_S_FUNC_DVD_DETECTFAIL1
0
1
ddtsata_raw_perfSATA_S_PERF_RAW_PERF_100M_BS25FAIL6
0
6
  SATA_S_PERF_RAW_PERF_100M_BS1MFAIL   

我自己编写了python脚本实现,代码如下:

#!/usr/bin/python#coding=utf-8import osimport csvLINENUM = 2 ** 20#the case of dirdef gci_sub(filepath):global LINENUMsystem = ['cpuhotplug','ipc','math','mm','nptl','pipes','realtime','sched','syscalls','timers']module = ''        files = os.listdir(filepath)with open('./result_xlsx/result.csv','wb') as csvfile:spamwriter = csv.writer(csvfile,dialect = 'excel')spamwriter.writerow(['Module', 'TestSuit', 'TestCase','Result','Total Tests','Total Skipped Tests','Total Failures'])        for fi in files:tmplist1 = []tmptotaltest = 0tmpskiptest = 0tmptotalfailure = 0#get filenamefilename = os.path.splitext(fi)[0]if filename in system:module = 'system' else:module = 'ddt'#filename dirfile_dir = os.path.join(filepath,fi)#open filenamefp = open(file_dir)#get line number  and get linue valuefor (num, value) in enumerate(fp):#testcase = value.find("Testcase") result = ''testcase = value.find("Exit Value") if testcase != -1:#print valueLINENUM = num + 1  #spamwriter.writerow([module,filename,'block','','','',''])if num > LINENUM:if value.find(" ") == -1:#print numLINENUM = 2 ** 20else:#print "value:",valuecasename = value.split(' ')[0]#get pass_failurepass_fail = value.split(' ')[1:len(value.split(" "))]if "FAIL" in pass_fail:result = 'FAIL'elif "PASS" in pass_fail:result = 'PASS'else:result = 'CONF'tmp = [" "," ",casename,result," "," "," "]tmplist1.append(tmp)#print tmplist1#totaltests_index = value.find("Total Tests:")if totaltests_index != -1:tests_num = value.split(" ")[2]#print value.split(" ")#print tmplist1[0][4]tmplist1[0][4] = tests_num#skippedtest_index = value.find("Total Skipped Tests:")if skippedtest_index != -1:skiptest = value.split(" ")[3]tmplist1[0][5] = skiptesttotalfailuir_index = value.find("Total Failures:")if totalfailuir_index != -1:failuirtest = value.split(" ")[2]tmptotalfailure = failuirtesttmplist1[0][0] = module tmplist1[0][1] = filenametmplist1[0][6] = failuirtest#insert valuefor list1 in range(len(tmplist1)): spamwriter.writerow(tmplist1[list1])gci_sub('./result_test/')


原创粉丝点击