1#!/usr/bin/env python2 2# Copyright 2016 The Chromium OS Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6import collections 7 8 9CONFIG = {} 10 11CONFIG['TEST_NAME'] = 'cheets_CTS_P' 12CONFIG['DOC_TITLE'] = 'Android Compatibility Test Suite (CTS)' 13CONFIG['MOBLAB_SUITE_NAME'] = 'suite:cts_P, suite:cts' 14CONFIG['COPYRIGHT_YEAR'] = 2018 15CONFIG['AUTHKEY'] = '' 16 17# Both arm, x86 tests results normally is below 200MB. 18# 1000MB should be sufficient for CTS tests and dump logs for android-cts. 19CONFIG['LARGE_MAX_RESULT_SIZE'] = 1000 * 1024 20 21# Individual module normal produces less results than all modules, which is 22# ranging from 4MB to 50MB. 500MB should be sufficient to handle all the cases. 23CONFIG['NORMAL_MAX_RESULT_SIZE'] = 500 * 1024 24 25CONFIG['TRADEFED_CTS_COMMAND'] = 'cts' 26CONFIG['TRADEFED_RETRY_COMMAND'] = 'retry' 27CONFIG['TRADEFED_DISABLE_REBOOT'] = False 28CONFIG['TRADEFED_DISABLE_REBOOT_ON_COLLECTION'] = True 29CONFIG['TRADEFED_MAY_SKIP_DEVICE_INFO'] = False 30CONFIG['TRADEFED_EXECUTABLE_PATH'] = 'android-cts/tools/cts-tradefed' 31CONFIG['TRADEFED_IGNORE_BUSINESS_LOGIC_FAILURE'] = False 32 33# module runs in suite:arc-cts on boards, and each module runs in 34# suite:arc-cts-unibuild on selected models. 35CONFIG['INTERNAL_SUITE_NAMES'] = ['suite:arc-cts', 'suite:arc-cts-unibuild'] 36CONFIG['QUAL_SUITE_NAMES'] = ['suite:arc-cts-qual'] 37 38CONFIG['CONTROLFILE_TEST_FUNCTION_NAME'] = 'run_TS' 39CONFIG['CONTROLFILE_WRITE_SIMPLE_QUAL_AND_REGRESS'] = False 40CONFIG['CONTROLFILE_WRITE_CAMERA'] = True 41CONFIG['CONTROLFILE_WRITE_EXTRA'] = True 42 43# The dashboard suppresses upload to APFE for GS directories (based on autotest 44# tag) that contain 'tradefed-run-collect-tests'. b/119640440 45# Do not change the name/tag without adjusting the dashboard. 46_COLLECT = 'tradefed-run-collect-tests-only-internal' 47_PUBLIC_COLLECT = 'tradefed-run-collect-tests-only' 48 49# Test module name for WM presubmit tests. 50_WM_PRESUBMIT = 'wm-presubmit' 51 52CONFIG['LAB_DEPENDENCY'] = { 53 'x86': ['cts_abi_x86'] 54} 55 56CONFIG['CTS_JOB_RETRIES_IN_PUBLIC'] = 1 57CONFIG['CTS_QUAL_RETRIES'] = 9 58CONFIG['CTS_MAX_RETRIES'] = { 59 'CtsDeqpTestCases': 15, # TODO(b/126787654) 60 'CtsGraphicsTestCases': 5, # TODO(b/155056869) 61 'CtsSensorTestCases': 30, # TODO(b/124528412) 62} 63 64# Timeout in hours. 65CONFIG['CTS_TIMEOUT_DEFAULT'] = 1.0 66CONFIG['CTS_TIMEOUT'] = { 67 'CtsActivityManagerDeviceTestCases': 2.0, 68 'CtsAppSecurityHostTestCases': 4.0, # TODO(b/172409836) 69 'CtsAutoFillServiceTestCases': 6.0, # TODO(b/145092442) 70 'CtsCameraTestCases': 2.0, # TODO(b/150657700) 71 'CtsDeqpTestCases': 20.0, 72 'CtsDeqpTestCases.dEQP-EGL': 2.0, 73 'CtsDeqpTestCases.dEQP-GLES2': 2.0, 74 'CtsDeqpTestCases.dEQP-GLES3': 6.0, 75 'CtsDeqpTestCases.dEQP-GLES31': 6.0, 76 'CtsDeqpTestCases.dEQP-VK': 15.0, 77 'CtsFileSystemTestCases': 3.0, 78 'CtsIcuTestCases': 2.0, 79 'CtsLibcoreOjTestCases': 2.0, 80 'CtsMediaStressTestCases': 5.0, 81 'CtsMediaTestCases': 10.0, 82 'CtsPrintTestCases': 1.5, 83 'CtsSecurityTestCases': 2.0, 84 'CtsVideoTestCases': 1.5, 85 _COLLECT: 2.5, 86 _PUBLIC_COLLECT: 2.5, 87 _WM_PRESUBMIT: 0.2, 88} 89 90# Any test that runs as part as blocking BVT needs to be stable and fast. For 91# this reason we enforce a tight timeout on these modules/jobs. 92# Timeout in hours. (0.2h = 12 minutes) 93# 94# For the test content 5 minutes are more than enough, but when some component 95# (typically camera) is stuck, the CTS precondition step hits 5 minute abort. 96# Since this abort doesn't affect too much for the main CTS runs (with longer 97# timeouts), it's ok to let them go in. Bad state of camre should be caught by 98# camera tests, not by this general test harness health check for CTS. 99CONFIG['BVT_TIMEOUT'] = 0.2 100 101CONFIG['QUAL_BOOKMARKS'] = sorted([ 102 'A', # A bookend to simplify partition algorithm. 103 'CtsAccessibilityServiceTestCases', # TODO(ihf) remove when b/121291711 fixed. This module causes problems. Put it into its own control file. 104 'CtsAccessibilityServiceTestCasesz', 105 'CtsActivityManagerDevice', # Runs long enough. (3h) 106 'CtsActivityManagerDevicez', 107 'CtsDeqpTestCases', 108 'CtsDeqpTestCasesz', # Put Deqp in one control file. Long enough, fairly stable. 109 'CtsFileSystemTestCases', # Runs long enough. (3h) 110 'CtsFileSystemTestCasesz', 111 'CtsMediaBitstreamsTestCases', # Put each Media module in its own control file. Long enough. 112 'CtsMediaHostTestCases', 113 'CtsMediaStressTestCases', 114 'CtsMediaTestCases', 115 'CtsMediaTestCasesz', 116 'CtsJvmti', 117 'CtsSecurityHostTestCases', # TODO(ihf): remove when passing cleanly. 118 'CtsSecurityHostTestCasesz', 119 'CtsSensorTestCases', # TODO(ihf): Remove when not needing 30 retries. 120 'CtsSensorTestCasesz', 121 'CtsViewTestCases', # TODO(b/126741318): Fix performance regression and remove this. 122 'CtsViewTestCasesz', 123 'zzzzz' # A bookend to simplify algorithm. 124]) 125 126CONFIG['SMOKE'] = [ 127 _WM_PRESUBMIT, 128] 129 130CONFIG['BVT_ARC'] = [ 131 'CtsAccelerationTestCases', 132] 133 134CONFIG['BVT_PERBUILD'] = [ 135 'CtsAccountManagerTestCases', 136 'CtsGraphicsTestCases', 137 'CtsJankDeviceTestCases', 138 'CtsOpenGLTestCases', 139 'CtsOpenGlPerf2TestCases', 140 'CtsPermission2TestCases', 141 'CtsSimpleperfTestCases', 142 'CtsSpeechTestCases', 143 'CtsTelecomTestCases', 144 'CtsTelephonyTestCases', 145 'CtsThemeDeviceTestCases', 146 'CtsTransitionTestCases', 147 'CtsTvTestCases', 148 'CtsUsbTests', 149 'CtsVoiceSettingsTestCases', 150] 151 152CONFIG['NEEDS_POWER_CYCLE'] = [ 153 'CtsBluetoothTestCases', 154] 155 156CONFIG['HARDWARE_DEPENDENT_MODULES'] = [ 157 'CtsSensorTestCases', 158 'CtsCameraTestCases', 159 'CtsBluetoothTestCases', 160] 161 162# The suite is divided based on the run-time hint in the *.config file. 163CONFIG['VMTEST_INFO_SUITES'] = collections.OrderedDict() 164# This is the default suite for all the modules that are not specified below. 165CONFIG['VMTEST_INFO_SUITES']['vmtest-informational1'] = [] 166CONFIG['VMTEST_INFO_SUITES']['vmtest-informational2'] = [ 167 'CtsMediaTestCases', 'CtsMediaStressTestCases', 'CtsHardwareTestCases' 168] 169CONFIG['VMTEST_INFO_SUITES']['vmtest-informational3'] = [ 170 'CtsThemeHostTestCases', 'CtsHardwareTestCases', 'CtsLibcoreTestCases' 171] 172CONFIG['VMTEST_INFO_SUITES']['vmtest-informational4'] = [''] 173 174# Modules that are known to download and/or push media file assets. 175CONFIG['MEDIA_MODULES'] = [ 176 'CtsMediaTestCases', 177 'CtsMediaStressTestCases', 178 'CtsMediaBitstreamsTestCases', 179] 180 181CONFIG['NEEDS_PUSH_MEDIA'] = CONFIG['MEDIA_MODULES'] + [ 182 'CtsMediaTestCases.audio', 183] 184 185# See b/149889853. Non-media test basically does not require dynamic 186# config. To reduce the flakiness, let us suppress the config. 187CONFIG['NEEDS_DYNAMIC_CONFIG_ON_COLLECTION'] = False 188CONFIG['NEEDS_DYNAMIC_CONFIG'] = CONFIG['MEDIA_MODULES'] + [ 189 'CtsIntentSignatureTestCases' 190] 191 192# Modules that are known to need the default apps of Chrome (eg. Files.app). 193CONFIG['ENABLE_DEFAULT_APPS'] = [ 194 'CtsAppSecurityHostTestCases', 195 'CtsContentTestCases', 196] 197 198# Run `eject` for (and only for) each device with RM=1 in lsblk output. 199_EJECT_REMOVABLE_DISK_COMMAND = ( 200 "\'lsblk -do NAME,RM | sed -n s/1$//p | xargs -n1 eject\'") 201# Behave more like in the verififed mode. 202_SECURITY_PARANOID_COMMAND = ( 203 "\'echo 3 > /proc/sys/kernel/perf_event_paranoid\'") 204# TODO(kinaba): Come up with a less hacky way to handle the situation. 205# {0} is replaced with the retry count. Writes either 1 (required by 206# CtsSimpleperfTestCases) or 3 (CtsSecurityHostTestCases). 207_ALTERNATING_PARANOID_COMMAND = ( 208 "\'echo $(({0} % 2 * 2 + 1)) > /proc/sys/kernel/perf_event_paranoid\'") 209# Expose /proc/config.gz 210_CONFIG_MODULE_COMMAND = "\'modprobe configs\'" 211 212# TODO(b/126741318): Fix performance regression and remove this. 213_SLEEP_60_COMMAND = "\'sleep 60\'" 214 215# Preconditions applicable to public and internal tests. 216CONFIG['PRECONDITION'] = { 217 'CtsSecurityHostTestCases': [ 218 _SECURITY_PARANOID_COMMAND, _CONFIG_MODULE_COMMAND 219 ], 220 # Tests are performance-sensitive, workaround to avoid CPU load on login. 221 # TODO(b/126741318): Fix performance regression and remove this. 222 'CtsViewTestCases': [_SLEEP_60_COMMAND], 223} 224CONFIG['LOGIN_PRECONDITION'] = { 225 'CtsAppSecurityHostTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], 226 'CtsJobSchedulerTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], 227 'CtsMediaTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], 228 'CtsOsTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], 229 'CtsProviderTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], 230} 231 232_WIFI_CONNECT_COMMANDS = [ 233 # These needs to be in order. 234 "'/usr/local/autotest/cros/scripts/wifi connect %s %s\' % (ssid, wifipass)", 235 "'/usr/local/autotest/cros/scripts/reorder-services-moblab.sh wifi'" 236] 237 238# Preconditions applicable to public tests. 239CONFIG['PUBLIC_PRECONDITION'] = { 240 'CtsSecurityHostTestCases': [ 241 _SECURITY_PARANOID_COMMAND, _CONFIG_MODULE_COMMAND 242 ], 243 'CtsUsageStatsTestCases': _WIFI_CONNECT_COMMANDS, 244 'CtsNetTestCases': _WIFI_CONNECT_COMMANDS, 245 'CtsLibcoreTestCases': _WIFI_CONNECT_COMMANDS, 246} 247 248CONFIG['PUBLIC_DEPENDENCIES'] = { 249 'CtsCameraTestCases': ['lighting'], 250 'CtsMediaTestCases': ['noloopback'], 251} 252 253# This information is changed based on regular analysis of the failure rate on 254# partner moblabs. 255CONFIG['PUBLIC_MODULE_RETRY_COUNT'] = { 256 'CtsAccessibilityServiceTestCases': 12, 257 'CtsActivityManagerDeviceTestCases': 12, 258 'CtsBluetoothTestCases': 10, 259 'CtsDeqpTestCases': 15, 260 'CtsFileSystemTestCases': 10, 261 'CtsGraphicsTestCases': 12, 262 'CtsIncidentHostTestCases': 12, 263 'CtsNetTestCases': 10, 264 'CtsSecurityHostTestCases': 10, 265 'CtsSensorTestCases': 12, 266 'CtsUsageStatsTestCases': 10, 267 _PUBLIC_COLLECT: 0, 268} 269 270CONFIG['PUBLIC_OVERRIDE_TEST_PRIORITY'] = { 271 _PUBLIC_COLLECT: 70, 272 'CtsDeqpTestCases': 70, 273} 274 275# This information is changed based on regular analysis of the job run time on 276# partner moblabs. 277 278CONFIG['OVERRIDE_TEST_LENGTH'] = { 279 'CtsDeqpTestCases': 4, # LONG 280 'CtsMediaTestCases': 4, 281 'CtsMediaStressTestCases': 4, 282 'CtsSecurityTestCases': 4, 283 'CtsCameraTestCases': 4, 284 # Even though collect tests doesn't run very long, it must be the very first 285 # job executed inside of the suite. Hence it is the only 'LENGTHY' test. 286 _COLLECT: 5, # LENGTHY 287} 288 289# Enabling --logcat-on-failure can extend total run time significantly if 290# individual tests finish in the order of 10ms or less (b/118836700). Specify 291# modules here to not enable the flag. 292CONFIG['DISABLE_LOGCAT_ON_FAILURE'] = set([ 293 'all', 294 'CtsDeqpTestCases', 295 'CtsDeqpTestCases.dEQP-EGL', 296 'CtsDeqpTestCases.dEQP-GLES2', 297 'CtsDeqpTestCases.dEQP-GLES3', 298 'CtsDeqpTestCases.dEQP-GLES31', 299 'CtsDeqpTestCases.dEQP-VK', 300 'CtsLibcoreTestCases', 301]) 302 303CONFIG['EXTRA_MODULES'] = { 304 'CtsDeqpTestCases': { 305 'SUBMODULES': set([ 306 'CtsDeqpTestCases.dEQP-EGL', 307 'CtsDeqpTestCases.dEQP-GLES2', 308 'CtsDeqpTestCases.dEQP-GLES3', 309 'CtsDeqpTestCases.dEQP-GLES31', 310 'CtsDeqpTestCases.dEQP-VK' 311 ]), 312 'SUITES': ['suite:arc-cts-deqp', 'suite:graphics_per-week'], 313 }, 314 'CtsMediaTestCases': { 315 'SUBMODULES': set([ 316 'CtsMediaTestCases.audio', 317 ]), 318 'SUITES': ['suite:arc-cts'], 319 }, 320 _WM_PRESUBMIT: { 321 'SUBMODULES': set([_WM_PRESUBMIT]), 322 'SUITES': [], 323 }, 324} 325 326# Moblab wants to shard dEQP really finely. This isn't needed anymore as it got 327# faster, but I guess better safe than sorry. 328CONFIG['PUBLIC_EXTRA_MODULES'] = { 329 'CtsDeqpTestCases' : [ 330 'CtsDeqpTestCases.dEQP-EGL', 331 'CtsDeqpTestCases.dEQP-GLES2', 332 'CtsDeqpTestCases.dEQP-GLES3', 333 'CtsDeqpTestCases.dEQP-GLES31', 334 'CtsDeqpTestCases.dEQP-VK.api', 335 'CtsDeqpTestCases.dEQP-VK.binding_model', 336 'CtsDeqpTestCases.dEQP-VK.clipping', 337 'CtsDeqpTestCases.dEQP-VK.compute', 338 'CtsDeqpTestCases.dEQP-VK.device_group', 339 'CtsDeqpTestCases.dEQP-VK.draw', 340 'CtsDeqpTestCases.dEQP-VK.dynamic_state', 341 'CtsDeqpTestCases.dEQP-VK.fragment_operations', 342 'CtsDeqpTestCases.dEQP-VK.geometry', 343 'CtsDeqpTestCases.dEQP-VK.glsl', 344 'CtsDeqpTestCases.dEQP-VK.image', 345 'CtsDeqpTestCases.dEQP-VK.info', 346 'CtsDeqpTestCases.dEQP-VK.memory', 347 'CtsDeqpTestCases.dEQP-VK.multiview', 348 'CtsDeqpTestCases.dEQP-VK.pipeline', 349 'CtsDeqpTestCases.dEQP-VK.protected_memory', 350 'CtsDeqpTestCases.dEQP-VK.query_pool', 351 'CtsDeqpTestCases.dEQP-VK.rasterization', 352 'CtsDeqpTestCases.dEQP-VK.renderpass', 353 'CtsDeqpTestCases.dEQP-VK.renderpass2', 354 'CtsDeqpTestCases.dEQP-VK.robustness', 355 'CtsDeqpTestCases.dEQP-VK.sparse_resources', 356 'CtsDeqpTestCases.dEQP-VK.spirv_assembly', 357 'CtsDeqpTestCases.dEQP-VK.ssbo', 358 'CtsDeqpTestCases.dEQP-VK.subgroups', 359 'CtsDeqpTestCases.dEQP-VK.subgroups.b', 360 'CtsDeqpTestCases.dEQP-VK.subgroups.s', 361 'CtsDeqpTestCases.dEQP-VK.subgroups.vote', 362 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic', 363 'CtsDeqpTestCases.dEQP-VK.subgroups.clustered', 364 'CtsDeqpTestCases.dEQP-VK.subgroups.quad', 365 'CtsDeqpTestCases.dEQP-VK.synchronization', 366 'CtsDeqpTestCases.dEQP-VK.tessellation', 367 'CtsDeqpTestCases.dEQP-VK.texture', 368 'CtsDeqpTestCases.dEQP-VK.ubo', 369 'CtsDeqpTestCases.dEQP-VK.wsi', 370 'CtsDeqpTestCases.dEQP-VK.ycbcr' 371 ] 372} 373# TODO(haddowk,kinaba): Hack for b/138622686. Clean up later. 374CONFIG['EXTRA_SUBMODULE_OVERRIDE'] = { 375 'x86': { 376 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic': [ 377 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic.32', 378 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic.64', 379 ] 380 } 381} 382 383CONFIG['EXTRA_COMMANDLINE'] = { 384 'CtsDeqpTestCases.dEQP-EGL': [ 385 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 386 '--test', 'dEQP-EGL.*' 387 ], 388 'CtsDeqpTestCases.dEQP-GLES2': [ 389 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 390 '--test', 'dEQP-GLES2.*' 391 ], 392 'CtsDeqpTestCases.dEQP-GLES3': [ 393 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 394 '--test', 'dEQP-GLES3.*' 395 ], 396 'CtsDeqpTestCases.dEQP-GLES31': [ 397 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 398 '--test', 'dEQP-GLES31.*' 399 ], 400 'CtsDeqpTestCases.dEQP-VK': [ 401 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 402 '--test', 'dEQP-VK.*' 403 ], 404 'CtsDeqpTestCases.dEQP-VK.api': [ 405 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 406 '--test', 'dEQP-VK.api.*' 407 ], 408 'CtsDeqpTestCases.dEQP-VK.binding_model': [ 409 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 410 '--test', 'dEQP-VK.binding_model.*' 411 ], 412 'CtsDeqpTestCases.dEQP-VK.clipping': [ 413 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 414 '--test', 'dEQP-VK.clipping.*' 415 ], 416 'CtsDeqpTestCases.dEQP-VK.compute': [ 417 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 418 '--test', 'dEQP-VK.compute.*' 419 ], 420 'CtsDeqpTestCases.dEQP-VK.device_group': [ 421 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 422 '--test', 'dEQP-VK.device_group*' # Not ending on .* like most others! 423 ], 424 'CtsDeqpTestCases.dEQP-VK.draw': [ 425 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 426 '--test', 'dEQP-VK.draw.*' 427 ], 428 'CtsDeqpTestCases.dEQP-VK.dynamic_state': [ 429 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 430 '--test', 'dEQP-VK.dynamic_state.*' 431 ], 432 'CtsDeqpTestCases.dEQP-VK.fragment_operations': [ 433 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 434 '--test', 'dEQP-VK.fragment_operations.*' 435 ], 436 'CtsDeqpTestCases.dEQP-VK.geometry': [ 437 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 438 '--test', 'dEQP-VK.geometry.*' 439 ], 440 'CtsDeqpTestCases.dEQP-VK.glsl': [ 441 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 442 '--test', 'dEQP-VK.glsl.*' 443 ], 444 'CtsDeqpTestCases.dEQP-VK.image': [ 445 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 446 '--test', 'dEQP-VK.image.*' 447 ], 448 'CtsDeqpTestCases.dEQP-VK.info': [ 449 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 450 '--test', 'dEQP-VK.info*' # Not ending on .* like most others! 451 ], 452 'CtsDeqpTestCases.dEQP-VK.memory': [ 453 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 454 '--test', 'dEQP-VK.memory.*' 455 ], 456 'CtsDeqpTestCases.dEQP-VK.multiview': [ 457 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 458 '--test', 'dEQP-VK.multiview.*' 459 ], 460 'CtsDeqpTestCases.dEQP-VK.pipeline': [ 461 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 462 '--test', 'dEQP-VK.pipeline.*' 463 ], 464 'CtsDeqpTestCases.dEQP-VK.protected_memory': [ 465 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 466 '--test', 'dEQP-VK.protected_memory.*' 467 ], 468 'CtsDeqpTestCases.dEQP-VK.query_pool': [ 469 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 470 '--test', 'dEQP-VK.query_pool.*' 471 ], 472 'CtsDeqpTestCases.dEQP-VK.rasterization': [ 473 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 474 '--test', 'dEQP-VK.rasterization.*' 475 ], 476 'CtsDeqpTestCases.dEQP-VK.renderpass': [ 477 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 478 '--test', 'dEQP-VK.renderpass.*' 479 ], 480 'CtsDeqpTestCases.dEQP-VK.renderpass2': [ 481 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 482 '--test', 'dEQP-VK.renderpass2.*' 483 ], 484 'CtsDeqpTestCases.dEQP-VK.robustness': [ 485 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 486 '--test', 'dEQP-VK.robustness.*' 487 ], 488 'CtsDeqpTestCases.dEQP-VK.sparse_resources': [ 489 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 490 '--test', 'dEQP-VK.sparse_resources.*' 491 ], 492 'CtsDeqpTestCases.dEQP-VK.spirv_assembly': [ 493 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 494 '--test', 'dEQP-VK.spirv_assembly.*' 495 ], 496 'CtsDeqpTestCases.dEQP-VK.ssbo': [ 497 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 498 '--test', 'dEQP-VK.ssbo.*' 499 ], 500 'CtsDeqpTestCases.dEQP-VK.subgroups': [ 501 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 502 '--test', 'dEQP-VK.subgroups.*' 503 ], 504 # Splitting VK.subgroups to smaller pieces to workaround b/138622686. 505 # TODO(kinaba,haddowk): remove them once the root cause is fixed, or 506 # reconsider the sharding strategy. 507 'CtsDeqpTestCases.dEQP-VK.subgroups.b': [ 508 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 509 '--test', 'dEQP-VK.subgroups.b*' 510 ], 511 'CtsDeqpTestCases.dEQP-VK.subgroups.s': [ 512 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 513 '--test', 'dEQP-VK.subgroups.s*' 514 ], 515 'CtsDeqpTestCases.dEQP-VK.subgroups.vote': [ 516 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 517 '--test', 'dEQP-VK.subgroups.vote#*' 518 ], 519 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic': [ 520 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 521 '--test', 'dEQP-VK.subgroups.arithmetic#*' 522 ], 523 # TODO(haddowk,kinaba): Hack for b/138622686. Clean up later. 524 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic.32': [ 525 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 526 '--test', 'dEQP-VK.subgroups.arithmetic#*', '--abi', 'x86' 527 ], 528 # TODO(haddowk,kinaba): Hack for b/138622686. Clean up later. 529 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic.64': [ 530 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 531 '--test', 'dEQP-VK.subgroups.arithmetic#*', '--abi', 'x86_64' 532 ], 533 'CtsDeqpTestCases.dEQP-VK.subgroups.clustered': [ 534 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 535 '--test', 'dEQP-VK.subgroups.clustered#*' 536 ], 537 'CtsDeqpTestCases.dEQP-VK.subgroups.quad': [ 538 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 539 '--test', 'dEQP-VK.subgroups.quad#*' 540 ], 541 'CtsDeqpTestCases.dEQP-VK.synchronization': [ 542 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 543 '--test', 'dEQP-VK.synchronization.*' 544 ], 545 'CtsDeqpTestCases.dEQP-VK.tessellation': [ 546 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 547 '--test', 'dEQP-VK.tessellation.*' 548 ], 549 'CtsDeqpTestCases.dEQP-VK.texture': [ 550 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 551 '--test', 'dEQP-VK.texture.*' 552 ], 553 'CtsDeqpTestCases.dEQP-VK.ubo': [ 554 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 555 '--test', 'dEQP-VK.ubo.*' 556 ], 557 'CtsDeqpTestCases.dEQP-VK.wsi': [ 558 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 559 '--test', 'dEQP-VK.wsi.*' 560 ], 561 'CtsDeqpTestCases.dEQP-VK.ycbcr': [ 562 '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', 563 '--test', 'dEQP-VK.ycbcr.*' 564 ], 565 'CtsMediaTestCases.audio': [ 566 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioAttributesTest', 567 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioEffectTest', 568 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioFocusTest', 569 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioFormatTest', 570 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioManagerTest', 571 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioNativeTest', 572 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioPlayRoutingNative', 573 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioPlaybackConfigurationTest', 574 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioPreProcessingTest', 575 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioPresentationTest', 576 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecordAppOpTest', 577 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecordRoutingNative', 578 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecordTest', 579 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecord_BufferSizeTest', 580 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecordingConfigurationTest', 581 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioTrackLatencyTest', 582 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioTrackSurroundTest', 583 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioTrackTest', 584 '--include-filter', 'CtsMediaTestCases android.media.cts.AudioTrack_ListenerTest', 585 '--include-filter', 'CtsMediaTestCases android.media.cts.SoundPoolAacTest', 586 '--include-filter', 'CtsMediaTestCases android.media.cts.SoundPoolMidiTest', 587 '--include-filter', 'CtsMediaTestCases android.media.cts.SoundPoolOggTest', 588 '--include-filter', 'CtsMediaTestCases android.media.cts.VolumeShaperTest', 589 ], 590 _WM_PRESUBMIT: [ 591 '--include-filter', 'CtsActivityManagerDeviceSdk25TestCases', 592 '--include-filter', 'CtsActivityManagerDeviceTestCases', 593 '--include-filter', 594 'CtsAppTestCases android.app.cts.TaskDescriptionTest', 595 '--include-filter', 'CtsWindowManagerDeviceTestCases', 596 '--test-arg', ( 597 'com.android.compatibility.common.tradefed.testtype.JarHostTest:' 598 'include-annotation:android.platform.test.annotations.Presubmit' 599 ), 600 '--test-arg', ( 601 'com.android.tradefed.testtype.AndroidJUnitTest:' 602 'include-annotation:android.platform.test.annotations.Presubmit' 603 ), 604 '--test-arg', ( 605 'com.android.tradefed.testtype.HostTest:' 606 'include-annotation:android.platform.test.annotations.Presubmit' 607 ), 608 '--test-arg', ( 609 'com.android.tradefed.testtype.AndroidJUnitTest:' 610 'exclude-annotation:androidx.test.filters.FlakyTest' 611 ), 612 ], 613} 614 615CONFIG['EXTRA_ATTRIBUTES'] = { 616 'CtsDeqpTestCases': ['suite:arc-cts', 'suite:arc-cts-deqp'], 617 'CtsDeqpTestCases.dEQP-EGL': [ 618 'suite:arc-cts-deqp', 'suite:graphics_per-week' 619 ], 620 'CtsDeqpTestCases.dEQP-GLES2': [ 621 'suite:arc-cts-deqp', 'suite:graphics_per-week' 622 ], 623 'CtsDeqpTestCases.dEQP-GLES3': [ 624 'suite:arc-cts-deqp', 'suite:graphics_per-week' 625 ], 626 'CtsDeqpTestCases.dEQP-GLES31': [ 627 'suite:arc-cts-deqp', 'suite:graphics_per-week' 628 ], 629 'CtsDeqpTestCases.dEQP-VK': [ 630 'suite:arc-cts-deqp', 'suite:graphics_per-week' 631 ], 632 _COLLECT: ['suite:arc-cts-qual', 'suite:arc-cts'], 633} 634 635CONFIG['EXTRA_ARTIFACTS'] = { 636 'CtsViewTestCases': ["/storage/emulated/0/SurfaceViewSyncTest/"], 637} 638 639CONFIG['EXTRA_ARTIFACTS_HOST'] = { 640 # For fixing flakiness b/143049967. 641 'CtsThemeHostTestCases': ["/tmp/diff_*.png"], 642} 643 644_PREREQUISITE_BLUETOOTH = 'bluetooth' 645_PREREQUISITE_REGION_US = 'region_us' 646 647CONFIG['PREREQUISITES'] = { 648 'CtsBluetoothTestCases': [_PREREQUISITE_BLUETOOTH], 649 'CtsStatsdHostTestCases': [_PREREQUISITE_BLUETOOTH], 650 'CtsWebkitTestCases': [_PREREQUISITE_REGION_US], 651 'CtsContentTestCases': [_PREREQUISITE_REGION_US], 652 'CtsAppSecurityTestCases': [_PREREQUISITE_REGION_US], 653 'CtsThemeHostTestCases': [_PREREQUISITE_REGION_US], 654} 655 656from generate_controlfiles_common import main 657 658if __name__ == '__main__': 659 main(CONFIG) 660