android cts test package 管理有点混乱
比如 testpackage android.appwidget 的文件是 CtsAppWidgetTestCases.xml (大概只有有1/4的文件名和testpackage名字一致, 3/4不一致 )
当你生成test plan 的plan 又要指明 testpackage
<?xml version='1.0' encoding='UTF-8'?>
<TestPlan version="1.0">
<Entry name="android.appwidget" />
我写了段python脚本,找出这些不一致的
先运行 find *.xml > xml_files 导出所有 testpackage xml文件名
而后运行下面的 python 脚本
import sys
import re
import os, os.path, glob
import shutil
import csv
from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import Element
from xml.etree.ElementTree import SubElement
from xml.etree.ElementTree import dump
from xml.etree.ElementTree import Comment
from xml.etree.ElementTree import tostring
def findEntryElement(packageRoot):
if "appPackageName" in packageRoot.attrib:
appPackageName = packageRoot.attrib['appPackageName']
return appPackageName
else:
return None
fh = open('xml_files')
for fileName in fh.readlines():
fileName = fileName.strip()
packageET = ElementTree()
try:
packageRoot = packageET.parse(fileName)
except IOError:
print "\nWARNING: Cannot read " + testFileName
packageName = findEntryElement(packageRoot)
if packag