android cts理清testpackage和文件名的对应关系

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 packageName + ".xml" == fileName:
          continue #print fileName + " is package name"
    else:
          print "'"+packageName + "':'" + fileName + "',"

得到结果

'android.bionic':'bionic-unit-tests-cts.xml',
'android.acceleration':'CtsAccelerationTestCases.xml',
'android.accessibilityservice':'CtsAccessibilityServiceTestCases.xml',
'android.accessibility':'CtsAccessibilityTestCases.xml',
'android.accounts':'CtsAccountManagerTestCases.xml',
'android.aadb':'CtsAdbTests.xml',
'android.admin':'CtsAdminTestCases.xml',
'android.animation':'CtsAnimationTestCases.xml',
'android.tests.appsecurity':'CtsAppSecurityTests.xml',
'android.app':'CtsAppTestCases.xml',
'android.appwidget':'CtsAppWidgetTestCases.xml',
'android.bluetooth':'CtsBluetoothTestCases.xml',
'android.calendarcommon':'CtsCalendarcommon2TestCases.xml',
'android.content':'CtsContentTestCases.xml',
'android.database':'CtsDatabaseTestCases.xml',
'com.android.cts.browserbench':'CtsDeviceBrowserBench.xml',
'com.android.cts.dram':'CtsDeviceDram.xml',
'com.android.cts.filesystemperf':'CtsDeviceFilePerf.xml',
'com.android.cts.opengl':'CtsDeviceOpenGl.xml',
'android.adminhostside':'CtsDevicePolicyManagerTestCases.xml',
'com.android.cts.simplecpu':'CtsDeviceSimpleCpu.xml',
'com.android.cts.tvproviderperf':'CtsDeviceTvProviderPerf.xml',
'com.android.cts.ui':'CtsDeviceUi.xml',
'com.android.cts.videoperf':'CtsDeviceVideoPerf.xml',
'android.display':'CtsDisplayTestCases.xml',
'android.dpi2':'CtsDpiTestCases2.xml',
'android.dpi':'CtsDpiTestCases.xml',
'android.dreams':'CtsDreamsTestCases.xml',
'android.drm':'CtsDrmTestCases.xml',
'android.host.dumpsys':'CtsDumpsysHostTestCases.xml',
'android.effect':'CtsEffectTestCases.xml',
'android.gesture':'CtsGestureTestCases.xml',
'android.graphics2':'CtsGraphics2TestCases.xml',
'android.graphics':'CtsGraphicsTestCases.xml',
'android.hardware':'CtsHardwareTestCases.xml',
'com.android.cts.jank':'CtsHostJank.xml',
'android.net.hostsidenetwork':'CtsHostsideNetworkTests.xml',
'com.android.cts.uihost':'CtsHostUi.xml',
'android.host.jdwpsecurity':'CtsJdwpSecurityHostTestCases.xml',
'android.jdwp':'CtsJdwp.xml',
'android.jni':'CtsJniTestCases.xml',
'android.JobScheduler':'CtsJobSchedulerDeviceTestCases.xml',
'android.keystore':'CtsKeystoreTestCases.xml',
'android.location2':'CtsLocation2TestCases.xml',
'android.location':'CtsLocationTestCases.xml',
'android.mediastress':'CtsMediaStressTestCases.xml',
'android.media':'CtsMediaTestCases.xml',
'zzz.android.monkey':'CtsMonkeyTestCases.xml',
'android.nativeopengl':'CtsNativeOpenGLTestCases.xml',
'android.ndef':'CtsNdefTestCases.xml',
'android.net':'CtsNetTestCases.xml',
'android.openglperf':'CtsOpenGlPerfTestCases.xml',
'android.opengl':'CtsOpenGLTestCases.xml',
'android.os':'CtsOsTestCases.xml',
'android.permission2':'CtsPermission2TestCases.xml',
'android.permission':'CtsPermissionTestCases.xml',
'android.preference2':'CtsPreference2TestCases.xml',
'android.preference':'CtsPreferenceTestCases.xml',
'android.print':'CtsPrintTestCases.xml',
'android.provider':'CtsProviderTestCases.xml',
'android.renderscriptlegacy':'CtsRenderscriptLegacyTestCases.xml',
'android.renderscript':'CtsRenderscriptTestCases.xml',
'android.rscpp':'CtsRsCppTestCases.xml',
'android.sax':'CtsSaxTestCases.xml',
'android.host.security':'CtsSecurityHostTestCases.xml',
'android.security':'CtsSecurityTestCases.xml',
'android.signature':'CtsSignatureTestCases.xml',
'android.speech':'CtsSpeechTestCases.xml',
'android.telephony':'CtsTelephonyTestCases.xml',
'android.text':'CtsTextTestCases.xml',
'android.textureview':'CtsTextureViewTestCases.xml',
'android.host.theme':'CtsThemeHostTestCases.xml',
'android.theme':'CtsThemeTestCases.xml',
'android.tv':'CtsTvTestCases.xml',
'android.uiautomation':'CtsUiAutomationTestCases.xml',
'android.uiautomator':'CtsUiAutomatorTests.xml',
'android.uirendering':'CtsUiRenderingTestCases.xml',
'android.app.usage':'CtsUsageStatsTestCases.xml',
'android.usb':'CtsUsbTests.xml',
'android.util':'CtsUtilTestCases.xml',
'android.view':'CtsViewTestCases.xml',
'android.webgl':'CtsWebGLTestCases.xml',
'android.webkit':'CtsWebkitTestCases.xml',
'android.widget':'CtsWidgetTestCases.xml',
'android.nativemedia.sl':'NativeMediaTest_SL.xml',
'android.nativemedia.xa':'NativeMediaTest_XA.xml',









你可能感兴趣的:(android)