#!/usr/bin/env python2 # Copyright 2016 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import collections CONFIG = {} CONFIG['TEST_NAME'] = 'cheets_CTS_P' CONFIG['DOC_TITLE'] = 'Android Compatibility Test Suite (CTS)' CONFIG['MOBLAB_SUITE_NAME'] = 'suite:cts_P, suite:cts' CONFIG['COPYRIGHT_YEAR'] = 2018 CONFIG['AUTHKEY'] = '' # Both arm, x86 tests results normally is below 200MB. # 1000MB should be sufficient for CTS tests and dump logs for android-cts. CONFIG['LARGE_MAX_RESULT_SIZE'] = 1000 * 1024 # Individual module normal produces less results than all modules, which is # ranging from 4MB to 50MB. 500MB should be sufficient to handle all the cases. CONFIG['NORMAL_MAX_RESULT_SIZE'] = 500 * 1024 CONFIG['TRADEFED_CTS_COMMAND'] = 'cts' CONFIG['TRADEFED_RETRY_COMMAND'] = 'retry' CONFIG['TRADEFED_DISABLE_REBOOT'] = False CONFIG['TRADEFED_DISABLE_REBOOT_ON_COLLECTION'] = True CONFIG['TRADEFED_MAY_SKIP_DEVICE_INFO'] = False CONFIG['TRADEFED_EXECUTABLE_PATH'] = 'android-cts/tools/cts-tradefed' CONFIG['TRADEFED_IGNORE_BUSINESS_LOGIC_FAILURE'] = False # module runs in suite:arc-cts on boards, and each module runs in # suite:arc-cts-unibuild on selected models. CONFIG['INTERNAL_SUITE_NAMES'] = ['suite:arc-cts', 'suite:arc-cts-unibuild'] CONFIG['QUAL_SUITE_NAMES'] = ['suite:arc-cts-qual'] CONFIG['CONTROLFILE_TEST_FUNCTION_NAME'] = 'run_TS' CONFIG['CONTROLFILE_WRITE_SIMPLE_QUAL_AND_REGRESS'] = False CONFIG['CONTROLFILE_WRITE_CAMERA'] = True CONFIG['CONTROLFILE_WRITE_EXTRA'] = True # The dashboard suppresses upload to APFE for GS directories (based on autotest # tag) that contain 'tradefed-run-collect-tests'. b/119640440 # Do not change the name/tag without adjusting the dashboard. _COLLECT = 'tradefed-run-collect-tests-only-internal' _PUBLIC_COLLECT = 'tradefed-run-collect-tests-only' # Test module name for WM presubmit tests. _WM_PRESUBMIT = 'wm-presubmit' CONFIG['LAB_DEPENDENCY'] = { 'x86': ['cts_abi_x86'] } CONFIG['CTS_JOB_RETRIES_IN_PUBLIC'] = 1 CONFIG['CTS_QUAL_RETRIES'] = 9 CONFIG['CTS_MAX_RETRIES'] = { 'CtsDeqpTestCases': 15, # TODO(b/126787654) 'CtsGraphicsTestCases': 5, # TODO(b/155056869) 'CtsSensorTestCases': 30, # TODO(b/124528412) } # Timeout in hours. CONFIG['CTS_TIMEOUT_DEFAULT'] = 1.0 CONFIG['CTS_TIMEOUT'] = { 'CtsActivityManagerDeviceTestCases': 2.0, 'CtsAppSecurityHostTestCases': 4.0, # TODO(b/172409836) 'CtsAutoFillServiceTestCases': 6.0, # TODO(b/145092442) 'CtsCameraTestCases': 2.0, # TODO(b/150657700) 'CtsDeqpTestCases': 20.0, 'CtsDeqpTestCases.dEQP-EGL': 2.0, 'CtsDeqpTestCases.dEQP-GLES2': 2.0, 'CtsDeqpTestCases.dEQP-GLES3': 6.0, 'CtsDeqpTestCases.dEQP-GLES31': 6.0, 'CtsDeqpTestCases.dEQP-VK': 15.0, 'CtsFileSystemTestCases': 3.0, 'CtsIcuTestCases': 2.0, 'CtsLibcoreOjTestCases': 2.0, 'CtsMediaStressTestCases': 5.0, 'CtsMediaTestCases': 10.0, 'CtsPrintTestCases': 1.5, 'CtsSecurityTestCases': 2.0, 'CtsVideoTestCases': 1.5, _COLLECT: 2.5, _PUBLIC_COLLECT: 2.5, _WM_PRESUBMIT: 0.2, } # Any test that runs as part as blocking BVT needs to be stable and fast. For # this reason we enforce a tight timeout on these modules/jobs. # Timeout in hours. (0.2h = 12 minutes) # # For the test content 5 minutes are more than enough, but when some component # (typically camera) is stuck, the CTS precondition step hits 5 minute abort. # Since this abort doesn't affect too much for the main CTS runs (with longer # timeouts), it's ok to let them go in. Bad state of camre should be caught by # camera tests, not by this general test harness health check for CTS. CONFIG['BVT_TIMEOUT'] = 0.2 CONFIG['QUAL_BOOKMARKS'] = sorted([ 'A', # A bookend to simplify partition algorithm. 'CtsAccessibilityServiceTestCases', # TODO(ihf) remove when b/121291711 fixed. This module causes problems. Put it into its own control file. 'CtsAccessibilityServiceTestCasesz', 'CtsActivityManagerDevice', # Runs long enough. (3h) 'CtsActivityManagerDevicez', 'CtsDeqpTestCases', 'CtsDeqpTestCasesz', # Put Deqp in one control file. Long enough, fairly stable. 'CtsFileSystemTestCases', # Runs long enough. (3h) 'CtsFileSystemTestCasesz', 'CtsMediaBitstreamsTestCases', # Put each Media module in its own control file. Long enough. 'CtsMediaHostTestCases', 'CtsMediaStressTestCases', 'CtsMediaTestCases', 'CtsMediaTestCasesz', 'CtsJvmti', 'CtsSecurityHostTestCases', # TODO(ihf): remove when passing cleanly. 'CtsSecurityHostTestCasesz', 'CtsSensorTestCases', # TODO(ihf): Remove when not needing 30 retries. 'CtsSensorTestCasesz', 'CtsViewTestCases', # TODO(b/126741318): Fix performance regression and remove this. 'CtsViewTestCasesz', 'zzzzz' # A bookend to simplify algorithm. ]) CONFIG['SMOKE'] = [ _WM_PRESUBMIT, ] CONFIG['BVT_ARC'] = [ 'CtsAccelerationTestCases', ] CONFIG['BVT_PERBUILD'] = [ 'CtsAccountManagerTestCases', 'CtsGraphicsTestCases', 'CtsJankDeviceTestCases', 'CtsOpenGLTestCases', 'CtsOpenGlPerf2TestCases', 'CtsPermission2TestCases', 'CtsSimpleperfTestCases', 'CtsSpeechTestCases', 'CtsTelecomTestCases', 'CtsTelephonyTestCases', 'CtsThemeDeviceTestCases', 'CtsTransitionTestCases', 'CtsTvTestCases', 'CtsUsbTests', 'CtsVoiceSettingsTestCases', ] CONFIG['NEEDS_POWER_CYCLE'] = [ 'CtsBluetoothTestCases', ] CONFIG['HARDWARE_DEPENDENT_MODULES'] = [ 'CtsSensorTestCases', 'CtsCameraTestCases', 'CtsBluetoothTestCases', ] # The suite is divided based on the run-time hint in the *.config file. CONFIG['VMTEST_INFO_SUITES'] = collections.OrderedDict() # This is the default suite for all the modules that are not specified below. CONFIG['VMTEST_INFO_SUITES']['vmtest-informational1'] = [] CONFIG['VMTEST_INFO_SUITES']['vmtest-informational2'] = [ 'CtsMediaTestCases', 'CtsMediaStressTestCases', 'CtsHardwareTestCases' ] CONFIG['VMTEST_INFO_SUITES']['vmtest-informational3'] = [ 'CtsThemeHostTestCases', 'CtsHardwareTestCases', 'CtsLibcoreTestCases' ] CONFIG['VMTEST_INFO_SUITES']['vmtest-informational4'] = [''] # Modules that are known to download and/or push media file assets. CONFIG['MEDIA_MODULES'] = [ 'CtsMediaTestCases', 'CtsMediaStressTestCases', 'CtsMediaBitstreamsTestCases', ] CONFIG['NEEDS_PUSH_MEDIA'] = CONFIG['MEDIA_MODULES'] + [ 'CtsMediaTestCases.audio', ] # See b/149889853. Non-media test basically does not require dynamic # config. To reduce the flakiness, let us suppress the config. CONFIG['NEEDS_DYNAMIC_CONFIG_ON_COLLECTION'] = False CONFIG['NEEDS_DYNAMIC_CONFIG'] = CONFIG['MEDIA_MODULES'] + [ 'CtsIntentSignatureTestCases' ] # Modules that are known to need the default apps of Chrome (eg. Files.app). CONFIG['ENABLE_DEFAULT_APPS'] = [ 'CtsAppSecurityHostTestCases', 'CtsContentTestCases', ] # Run `eject` for (and only for) each device with RM=1 in lsblk output. _EJECT_REMOVABLE_DISK_COMMAND = ( "\'lsblk -do NAME,RM | sed -n s/1$//p | xargs -n1 eject\'") # Behave more like in the verififed mode. _SECURITY_PARANOID_COMMAND = ( "\'echo 3 > /proc/sys/kernel/perf_event_paranoid\'") # TODO(kinaba): Come up with a less hacky way to handle the situation. # {0} is replaced with the retry count. Writes either 1 (required by # CtsSimpleperfTestCases) or 3 (CtsSecurityHostTestCases). _ALTERNATING_PARANOID_COMMAND = ( "\'echo $(({0} % 2 * 2 + 1)) > /proc/sys/kernel/perf_event_paranoid\'") # Expose /proc/config.gz _CONFIG_MODULE_COMMAND = "\'modprobe configs\'" # TODO(b/126741318): Fix performance regression and remove this. _SLEEP_60_COMMAND = "\'sleep 60\'" # Preconditions applicable to public and internal tests. CONFIG['PRECONDITION'] = { 'CtsSecurityHostTestCases': [ _SECURITY_PARANOID_COMMAND, _CONFIG_MODULE_COMMAND ], # Tests are performance-sensitive, workaround to avoid CPU load on login. # TODO(b/126741318): Fix performance regression and remove this. 'CtsViewTestCases': [_SLEEP_60_COMMAND], } CONFIG['LOGIN_PRECONDITION'] = { 'CtsAppSecurityHostTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], 'CtsJobSchedulerTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], 'CtsMediaTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], 'CtsOsTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], 'CtsProviderTestCases': [_EJECT_REMOVABLE_DISK_COMMAND], } _WIFI_CONNECT_COMMANDS = [ # These needs to be in order. "'/usr/local/autotest/cros/scripts/wifi connect %s %s\' % (ssid, wifipass)", "'/usr/local/autotest/cros/scripts/reorder-services-moblab.sh wifi'" ] # Preconditions applicable to public tests. CONFIG['PUBLIC_PRECONDITION'] = { 'CtsSecurityHostTestCases': [ _SECURITY_PARANOID_COMMAND, _CONFIG_MODULE_COMMAND ], 'CtsUsageStatsTestCases': _WIFI_CONNECT_COMMANDS, 'CtsNetTestCases': _WIFI_CONNECT_COMMANDS, 'CtsLibcoreTestCases': _WIFI_CONNECT_COMMANDS, } CONFIG['PUBLIC_DEPENDENCIES'] = { 'CtsCameraTestCases': ['lighting'], 'CtsMediaTestCases': ['noloopback'], } # This information is changed based on regular analysis of the failure rate on # partner moblabs. CONFIG['PUBLIC_MODULE_RETRY_COUNT'] = { 'CtsAccessibilityServiceTestCases': 12, 'CtsActivityManagerDeviceTestCases': 12, 'CtsBluetoothTestCases': 10, 'CtsDeqpTestCases': 15, 'CtsFileSystemTestCases': 10, 'CtsGraphicsTestCases': 12, 'CtsIncidentHostTestCases': 12, 'CtsNetTestCases': 10, 'CtsSecurityHostTestCases': 10, 'CtsSensorTestCases': 12, 'CtsUsageStatsTestCases': 10, _PUBLIC_COLLECT: 0, } CONFIG['PUBLIC_OVERRIDE_TEST_PRIORITY'] = { _PUBLIC_COLLECT: 70, 'CtsDeqpTestCases': 70, } # This information is changed based on regular analysis of the job run time on # partner moblabs. CONFIG['OVERRIDE_TEST_LENGTH'] = { 'CtsDeqpTestCases': 4, # LONG 'CtsMediaTestCases': 4, 'CtsMediaStressTestCases': 4, 'CtsSecurityTestCases': 4, 'CtsCameraTestCases': 4, # Even though collect tests doesn't run very long, it must be the very first # job executed inside of the suite. Hence it is the only 'LENGTHY' test. _COLLECT: 5, # LENGTHY } # Enabling --logcat-on-failure can extend total run time significantly if # individual tests finish in the order of 10ms or less (b/118836700). Specify # modules here to not enable the flag. CONFIG['DISABLE_LOGCAT_ON_FAILURE'] = set([ 'all', 'CtsDeqpTestCases', 'CtsDeqpTestCases.dEQP-EGL', 'CtsDeqpTestCases.dEQP-GLES2', 'CtsDeqpTestCases.dEQP-GLES3', 'CtsDeqpTestCases.dEQP-GLES31', 'CtsDeqpTestCases.dEQP-VK', 'CtsLibcoreTestCases', ]) CONFIG['EXTRA_MODULES'] = { 'CtsDeqpTestCases': { 'SUBMODULES': set([ 'CtsDeqpTestCases.dEQP-EGL', 'CtsDeqpTestCases.dEQP-GLES2', 'CtsDeqpTestCases.dEQP-GLES3', 'CtsDeqpTestCases.dEQP-GLES31', 'CtsDeqpTestCases.dEQP-VK' ]), 'SUITES': ['suite:arc-cts-deqp', 'suite:graphics_per-week'], }, 'CtsMediaTestCases': { 'SUBMODULES': set([ 'CtsMediaTestCases.audio', ]), 'SUITES': ['suite:arc-cts'], }, _WM_PRESUBMIT: { 'SUBMODULES': set([_WM_PRESUBMIT]), 'SUITES': [], }, } # Moblab wants to shard dEQP really finely. This isn't needed anymore as it got # faster, but I guess better safe than sorry. CONFIG['PUBLIC_EXTRA_MODULES'] = { 'CtsDeqpTestCases' : [ 'CtsDeqpTestCases.dEQP-EGL', 'CtsDeqpTestCases.dEQP-GLES2', 'CtsDeqpTestCases.dEQP-GLES3', 'CtsDeqpTestCases.dEQP-GLES31', 'CtsDeqpTestCases.dEQP-VK.api', 'CtsDeqpTestCases.dEQP-VK.binding_model', 'CtsDeqpTestCases.dEQP-VK.clipping', 'CtsDeqpTestCases.dEQP-VK.compute', 'CtsDeqpTestCases.dEQP-VK.device_group', 'CtsDeqpTestCases.dEQP-VK.draw', 'CtsDeqpTestCases.dEQP-VK.dynamic_state', 'CtsDeqpTestCases.dEQP-VK.fragment_operations', 'CtsDeqpTestCases.dEQP-VK.geometry', 'CtsDeqpTestCases.dEQP-VK.glsl', 'CtsDeqpTestCases.dEQP-VK.image', 'CtsDeqpTestCases.dEQP-VK.info', 'CtsDeqpTestCases.dEQP-VK.memory', 'CtsDeqpTestCases.dEQP-VK.multiview', 'CtsDeqpTestCases.dEQP-VK.pipeline', 'CtsDeqpTestCases.dEQP-VK.protected_memory', 'CtsDeqpTestCases.dEQP-VK.query_pool', 'CtsDeqpTestCases.dEQP-VK.rasterization', 'CtsDeqpTestCases.dEQP-VK.renderpass', 'CtsDeqpTestCases.dEQP-VK.renderpass2', 'CtsDeqpTestCases.dEQP-VK.robustness', 'CtsDeqpTestCases.dEQP-VK.sparse_resources', 'CtsDeqpTestCases.dEQP-VK.spirv_assembly', 'CtsDeqpTestCases.dEQP-VK.ssbo', 'CtsDeqpTestCases.dEQP-VK.subgroups', 'CtsDeqpTestCases.dEQP-VK.subgroups.b', 'CtsDeqpTestCases.dEQP-VK.subgroups.s', 'CtsDeqpTestCases.dEQP-VK.subgroups.vote', 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic', 'CtsDeqpTestCases.dEQP-VK.subgroups.clustered', 'CtsDeqpTestCases.dEQP-VK.subgroups.quad', 'CtsDeqpTestCases.dEQP-VK.synchronization', 'CtsDeqpTestCases.dEQP-VK.tessellation', 'CtsDeqpTestCases.dEQP-VK.texture', 'CtsDeqpTestCases.dEQP-VK.ubo', 'CtsDeqpTestCases.dEQP-VK.wsi', 'CtsDeqpTestCases.dEQP-VK.ycbcr' ] } # TODO(haddowk,kinaba): Hack for b/138622686. Clean up later. CONFIG['EXTRA_SUBMODULE_OVERRIDE'] = { 'x86': { 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic': [ 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic.32', 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic.64', ] } } CONFIG['EXTRA_COMMANDLINE'] = { 'CtsDeqpTestCases.dEQP-EGL': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-EGL.*' ], 'CtsDeqpTestCases.dEQP-GLES2': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-GLES2.*' ], 'CtsDeqpTestCases.dEQP-GLES3': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-GLES3.*' ], 'CtsDeqpTestCases.dEQP-GLES31': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-GLES31.*' ], 'CtsDeqpTestCases.dEQP-VK': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.*' ], 'CtsDeqpTestCases.dEQP-VK.api': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.api.*' ], 'CtsDeqpTestCases.dEQP-VK.binding_model': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.binding_model.*' ], 'CtsDeqpTestCases.dEQP-VK.clipping': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.clipping.*' ], 'CtsDeqpTestCases.dEQP-VK.compute': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.compute.*' ], 'CtsDeqpTestCases.dEQP-VK.device_group': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.device_group*' # Not ending on .* like most others! ], 'CtsDeqpTestCases.dEQP-VK.draw': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.draw.*' ], 'CtsDeqpTestCases.dEQP-VK.dynamic_state': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.dynamic_state.*' ], 'CtsDeqpTestCases.dEQP-VK.fragment_operations': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.fragment_operations.*' ], 'CtsDeqpTestCases.dEQP-VK.geometry': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.geometry.*' ], 'CtsDeqpTestCases.dEQP-VK.glsl': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.glsl.*' ], 'CtsDeqpTestCases.dEQP-VK.image': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.image.*' ], 'CtsDeqpTestCases.dEQP-VK.info': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.info*' # Not ending on .* like most others! ], 'CtsDeqpTestCases.dEQP-VK.memory': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.memory.*' ], 'CtsDeqpTestCases.dEQP-VK.multiview': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.multiview.*' ], 'CtsDeqpTestCases.dEQP-VK.pipeline': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.pipeline.*' ], 'CtsDeqpTestCases.dEQP-VK.protected_memory': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.protected_memory.*' ], 'CtsDeqpTestCases.dEQP-VK.query_pool': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.query_pool.*' ], 'CtsDeqpTestCases.dEQP-VK.rasterization': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.rasterization.*' ], 'CtsDeqpTestCases.dEQP-VK.renderpass': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.renderpass.*' ], 'CtsDeqpTestCases.dEQP-VK.renderpass2': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.renderpass2.*' ], 'CtsDeqpTestCases.dEQP-VK.robustness': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.robustness.*' ], 'CtsDeqpTestCases.dEQP-VK.sparse_resources': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.sparse_resources.*' ], 'CtsDeqpTestCases.dEQP-VK.spirv_assembly': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.spirv_assembly.*' ], 'CtsDeqpTestCases.dEQP-VK.ssbo': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.ssbo.*' ], 'CtsDeqpTestCases.dEQP-VK.subgroups': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.subgroups.*' ], # Splitting VK.subgroups to smaller pieces to workaround b/138622686. # TODO(kinaba,haddowk): remove them once the root cause is fixed, or # reconsider the sharding strategy. 'CtsDeqpTestCases.dEQP-VK.subgroups.b': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.subgroups.b*' ], 'CtsDeqpTestCases.dEQP-VK.subgroups.s': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.subgroups.s*' ], 'CtsDeqpTestCases.dEQP-VK.subgroups.vote': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.subgroups.vote#*' ], 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.subgroups.arithmetic#*' ], # TODO(haddowk,kinaba): Hack for b/138622686. Clean up later. 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic.32': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.subgroups.arithmetic#*', '--abi', 'x86' ], # TODO(haddowk,kinaba): Hack for b/138622686. Clean up later. 'CtsDeqpTestCases.dEQP-VK.subgroups.arithmetic.64': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.subgroups.arithmetic#*', '--abi', 'x86_64' ], 'CtsDeqpTestCases.dEQP-VK.subgroups.clustered': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.subgroups.clustered#*' ], 'CtsDeqpTestCases.dEQP-VK.subgroups.quad': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.subgroups.quad#*' ], 'CtsDeqpTestCases.dEQP-VK.synchronization': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.synchronization.*' ], 'CtsDeqpTestCases.dEQP-VK.tessellation': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.tessellation.*' ], 'CtsDeqpTestCases.dEQP-VK.texture': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.texture.*' ], 'CtsDeqpTestCases.dEQP-VK.ubo': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.ubo.*' ], 'CtsDeqpTestCases.dEQP-VK.wsi': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.wsi.*' ], 'CtsDeqpTestCases.dEQP-VK.ycbcr': [ '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases', '--test', 'dEQP-VK.ycbcr.*' ], 'CtsMediaTestCases.audio': [ '--include-filter', 'CtsMediaTestCases android.media.cts.AudioAttributesTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioEffectTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioFocusTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioFormatTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioManagerTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioNativeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioPlayRoutingNative', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioPlaybackConfigurationTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioPreProcessingTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioPresentationTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecordAppOpTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecordRoutingNative', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecordTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecord_BufferSizeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioRecordingConfigurationTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioTrackLatencyTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioTrackSurroundTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioTrackTest', '--include-filter', 'CtsMediaTestCases android.media.cts.AudioTrack_ListenerTest', '--include-filter', 'CtsMediaTestCases android.media.cts.SoundPoolAacTest', '--include-filter', 'CtsMediaTestCases android.media.cts.SoundPoolMidiTest', '--include-filter', 'CtsMediaTestCases android.media.cts.SoundPoolOggTest', '--include-filter', 'CtsMediaTestCases android.media.cts.VolumeShaperTest', ], _WM_PRESUBMIT: [ '--include-filter', 'CtsActivityManagerDeviceSdk25TestCases', '--include-filter', 'CtsActivityManagerDeviceTestCases', '--include-filter', 'CtsAppTestCases android.app.cts.TaskDescriptionTest', '--include-filter', 'CtsWindowManagerDeviceTestCases', '--test-arg', ( 'com.android.compatibility.common.tradefed.testtype.JarHostTest:' 'include-annotation:android.platform.test.annotations.Presubmit' ), '--test-arg', ( 'com.android.tradefed.testtype.AndroidJUnitTest:' 'include-annotation:android.platform.test.annotations.Presubmit' ), '--test-arg', ( 'com.android.tradefed.testtype.HostTest:' 'include-annotation:android.platform.test.annotations.Presubmit' ), '--test-arg', ( 'com.android.tradefed.testtype.AndroidJUnitTest:' 'exclude-annotation:androidx.test.filters.FlakyTest' ), ], } CONFIG['EXTRA_ATTRIBUTES'] = { 'CtsDeqpTestCases': ['suite:arc-cts', 'suite:arc-cts-deqp'], 'CtsDeqpTestCases.dEQP-EGL': [ 'suite:arc-cts-deqp', 'suite:graphics_per-week' ], 'CtsDeqpTestCases.dEQP-GLES2': [ 'suite:arc-cts-deqp', 'suite:graphics_per-week' ], 'CtsDeqpTestCases.dEQP-GLES3': [ 'suite:arc-cts-deqp', 'suite:graphics_per-week' ], 'CtsDeqpTestCases.dEQP-GLES31': [ 'suite:arc-cts-deqp', 'suite:graphics_per-week' ], 'CtsDeqpTestCases.dEQP-VK': [ 'suite:arc-cts-deqp', 'suite:graphics_per-week' ], _COLLECT: ['suite:arc-cts-qual', 'suite:arc-cts'], } CONFIG['EXTRA_ARTIFACTS'] = { 'CtsViewTestCases': ["/storage/emulated/0/SurfaceViewSyncTest/"], } CONFIG['EXTRA_ARTIFACTS_HOST'] = { # For fixing flakiness b/143049967. 'CtsThemeHostTestCases': ["/tmp/diff_*.png"], } _PREREQUISITE_BLUETOOTH = 'bluetooth' _PREREQUISITE_REGION_US = 'region_us' CONFIG['PREREQUISITES'] = { 'CtsBluetoothTestCases': [_PREREQUISITE_BLUETOOTH], 'CtsStatsdHostTestCases': [_PREREQUISITE_BLUETOOTH], 'CtsWebkitTestCases': [_PREREQUISITE_REGION_US], 'CtsContentTestCases': [_PREREQUISITE_REGION_US], 'CtsAppSecurityTestCases': [_PREREQUISITE_REGION_US], 'CtsThemeHostTestCases': [_PREREQUISITE_REGION_US], } from generate_controlfiles_common import main if __name__ == '__main__': main(CONFIG)