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

31 篇文章 1 订阅
5 篇文章 0 订阅


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

ModuleTestSuitTestCaseResultTotal TestsTotal Skipped TestsTotal Failures
ddtsata_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-8

import os
import csv
LINENUM = 2 ** 20


#the case of dir
def gci_sub(filepath):
	global LINENUM
	system = ['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 = 0
			tmpskiptest = 0
			tmptotalfailure = 0
		#get filename
			filename = os.path.splitext(fi)[0]
			if filename in system:
				module = 'system' 
			else:
				module = 'ddt'
				
		#filename dir
			file_dir = os.path.join(filepath,fi)	
		#open filename
			fp = open(file_dir)
		#get line number  and get linue value
			for (num, value) in enumerate(fp):
			#testcase = value.find("Testcase") 
				result = ''
				testcase = value.find("Exit Value") 
				if testcase != -1:
				#print value
					LINENUM = num + 1	 
					 #spamwriter.writerow([module,filename,'block','','','',''])
			
				if num > LINENUM:
					if value.find(" ") == -1:
					#print num
						LINENUM = 2 ** 20	
					else:
					#print "value:",value
						casename = value.split(' ')[0]
						
					#get pass_failure
								
						pass_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] = skiptest
					
				totalfailuir_index = value.find("Total Failures:")	
				if totalfailuir_index != -1:
					failuirtest = value.split(" ")[2]
					tmptotalfailure = failuirtest
					tmplist1[0][0] = module 
					tmplist1[0][1] = filename
					tmplist1[0][6] = failuirtest
					#insert value
					for list1 in range(len(tmplist1)):
						 spamwriter.writerow(tmplist1[list1])
					
						
	
		
gci_sub('./result_test/')


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值