Revise test plans for continuous test runs
Updated continuous test plans - usually used to run daily
tests during the development of the device or platform, and
running on non release builds - so that it does not include
tests expected to run on user/release-key builds for final
Compatibility testing.
Also updated a bug in the continuous test plans where there
was some redundancy (e.g. deqp test)
Bug: 20295773
Change-Id: I2063fb546bbdb3c16dd06d1d9de91825296b40e9
diff --git a/tools/utils/buildCts.py b/tools/utils/buildCts.py
index af19c02..d476945 100755
--- a/tools/utils/buildCts.py
+++ b/tools/utils/buildCts.py
@@ -154,12 +154,15 @@
self.__WritePlan(plan, 'PDK')
flaky_tests = BuildCtsFlakyTestList()
+ releasekey_tests = BuildListForReleaseBuildTest()
# CTS Stable plan
plan = tools.TestPlan(packages)
plan.Exclude(r'com\.android\.cts\.browserbench')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
+ for package, test_list in releasekey_tests.iteritems():
+ plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-stable')
# CTS Flaky plan - list of tests known to be flaky in lab environment
@@ -183,7 +186,10 @@
plan.Exclude(r'com\.android\.cts\.browserbench')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
+ for package, test_list in releasekey_tests.iteritems():
+ plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-kitkat-small')
+ self.__WritePlan(plan, 'CTS-public-small')
# CTS - sub plan for public, medium size tests
plan = tools.TestPlan(packages)
@@ -193,7 +199,10 @@
plan.Exclude(r'com\.android\.cts\.browserbench')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
+ for package, test_list in releasekey_tests.iteritems():
+ plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-kitkat-medium')
+ self.__WritePlan(plan, 'CTS-public-medium')
# CTS - sub plan for hardware tests which is public, large
plan = tools.TestPlan(packages)
@@ -202,6 +211,8 @@
plan.Exclude(r'com\.android\.cts\.browserbench')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
+ for package, test_list in releasekey_tests.iteritems():
+ plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-hardware')
# CTS - sub plan for media tests which is public, large
@@ -212,6 +223,8 @@
plan.Exclude(r'com\.android\.cts\.browserbench')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
+ for package, test_list in releasekey_tests.iteritems():
+ plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-media')
# CTS - sub plan for mediastress tests which is public, large
@@ -221,6 +234,8 @@
plan.Exclude(r'com\.android\.cts\.browserbench')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
+ for package, test_list in releasekey_tests.iteritems():
+ plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-mediastress')
# CTS - sub plan for new tests that is vetted for L launch
@@ -231,9 +246,17 @@
plan.Exclude(r'com\.android\.cts\.browserbench')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
+ for package, test_list in releasekey_tests.iteritems():
+ plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-l-tests')
- #CTS - sub plan for new test packages added for staging
+ # CTS - sub plan for tests in drawelement packages
+ plan = tools.TestPlan(packages)
+ plan.Exclude('.*')
+ plan.Include(r'com\.drawelements\.')
+ self.__WritePlan(plan, 'CTS-DEQP')
+
+ # CTS - sub plan for new test packages added for staging
plan = tools.TestPlan(packages)
for package, test_list in small_tests.iteritems():
plan.Exclude(package+'$')
@@ -241,6 +264,7 @@
plan.Exclude(package+'$')
for package, tests_list in new_test_packages.iteritems():
plan.Exclude(package+'$')
+ plan.Exclude(r'com\.drawelements\.')
plan.Exclude(r'android\.hardware$')
plan.Exclude(r'android\.media$')
plan.Exclude(r'android\.view$')
@@ -248,15 +272,12 @@
plan.Exclude(r'com\.android\.cts\.browserbench')
for package, test_list in flaky_tests.iteritems():
plan.ExcludeTests(package, test_list)
+ for package, test_list in releasekey_tests.iteritems():
+ plan.ExcludeTests(package, test_list)
self.__WritePlan(plan, 'CTS-staging')
plan = tools.TestPlan(packages)
plan.Exclude('.*')
- plan.Include(r'com\.drawelements\.')
- self.__WritePlan(plan, 'CTS-DEQP')
-
- plan = tools.TestPlan(packages)
- plan.Exclude('.*')
plan.Include(r'android\.webgl')
self.__WritePlan(plan, 'CTS-webview')
@@ -372,23 +393,33 @@
'android.tv' : [],
'android.uiautomation' : [],
'android.uirendering' : [],
- 'android.webgl' : [],
- 'com.drawelements.deqp.egl' : [],
- 'com.drawelements.deqp.gles2' : [],
- 'com.drawelements.deqp.gles3' : [],
- 'com.drawelements.deqp.gles31' : []}
+ 'android.webgl' : []}
-def BuildCtsFlakyTestList():
+def BuildListForReleaseBuildTest():
""" Construct a defaultdict that maps package name to a list of tests
- that are known to be flaky in the lab or not passing on userdebug builds. """
+ that are expected to pass only when running against a user/release-key build. """
return {
'android.app' : [
'android.app.cts.ActivityManagerTest#testIsRunningInTestHarness',],
+ 'android.dpi' : [
+ 'android.dpi.cts.DefaultManifestAttributesSdkTest#testPackageHasExpectedSdkVersion',],
'android.host.security' : [
'android.cts.security.SELinuxHostTest#testAllEnforcing',
'android.cts.security.SELinuxHostTest#testSuDomain',],
- 'android.dpi' : [
- 'android.dpi.cts.DefaultManifestAttributesSdkTest#testPackageHasExpectedSdkVersion',],
+ 'android.os' : [
+ 'android.os.cts.BuildVersionTest#testReleaseVersion',
+ 'android.os.cts.BuildTest#testIsSecureUserBuild',],
+ 'android.security' : [
+ 'android.security.cts.BannedFilesTest#testNoSu',
+ 'android.security.cts.BannedFilesTest#testNoSuInPath',
+ 'android.security.cts.PackageSignatureTest#testPackageSignatures',
+ 'android.security.cts.SELinuxDomainTest#testSuDomain',],
+ '' : []}
+
+def BuildCtsFlakyTestList():
+ """ Construct a defaultdict that maps package name to a list of tests
+ that flaky during dev cycle and cause other subsequent tests to fail. """
+ return {
'android.hardware' : [
'android.hardware.cts.CameraTest#testVideoSnapshot',
'android.hardware.cts.CameraGLTest#testCameraToSurfaceTextureMetadata',
@@ -406,15 +437,9 @@
'android.net.cts.SSLCertificateSocketFactoryTest#test_createSocket_wrapping',
'android.net.cts.TrafficStatsTest#testTrafficStatsForLocalhost',
'android.net.wifi.cts.NsdManagerTest#testAndroidTestCaseSetupProperly',],
- 'android.os' : [
- 'android.os.cts.BuildVersionTest#testReleaseVersion',
- 'android.os.cts.BuildTest#testIsSecureUserBuild',],
'android.security' : [
- 'android.security.cts.BannedFilesTest#testNoSu',
- 'android.security.cts.BannedFilesTest#testNoSuInPath',
'android.security.cts.ListeningPortsTest#testNoRemotelyAccessibleListeningUdp6Ports',
- 'android.security.cts.ListeningPortsTest#testNoRemotelyAccessibleListeningUdpPorts',
- 'android.security.cts.PackageSignatureTest#testPackageSignatures',],
+ 'android.security.cts.ListeningPortsTest#testNoRemotelyAccessibleListeningUdpPorts',],
'android.webkit' : [
'android.webkit.cts.WebViewClientTest#testOnUnhandledKeyEvent',],
'com.android.cts.filesystemperf' : [