#!/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 # 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' _ALL = 'all' CONFIG = {} CONFIG['TEST_NAME'] = 'cheets_GTS' CONFIG['DOC_TITLE'] = 'Android Google Test Suite (GTS)' CONFIG['MOBLAB_SUITE_NAME'] = 'suite:gts' CONFIG['COPYRIGHT_YEAR'] = 2016 CONFIG['AUTHKEY'] = 'gs://chromeos-arc-images/cts/bundle/gts-arc.json' CONFIG['TRADEFED_IGNORE_BUSINESS_LOGIC_FAILURE'] = True CONFIG['LARGE_MAX_RESULT_SIZE'] = 500 * 1024 CONFIG['NORMAL_MAX_RESULT_SIZE'] = 300 * 1024 CONFIG['TRADEFED_CTS_COMMAND'] ='gts' 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['NEEDS_DEVICE_INFO'] = [] CONFIG['TRADEFED_EXECUTABLE_PATH'] = 'android-gts/tools/gts-tradefed' CONFIG['INTERNAL_SUITE_NAMES'] = ['suite:arc-gts'] CONFIG['QUAL_SUITE_NAMES'] = ['suite:arc-gts-qual'] CONFIG['CONTROLFILE_TEST_FUNCTION_NAME'] = 'run_TS' CONFIG['CONTROLFILE_WRITE_SIMPLE_QUAL_AND_REGRESS'] = False CONFIG['CONTROLFILE_WRITE_CAMERA'] = False CONFIG['CONTROLFILE_WRITE_EXTRA'] = False CONFIG['CTS_JOB_RETRIES_IN_PUBLIC'] = 2 CONFIG['CTS_QUAL_RETRIES'] = 9 CONFIG['CTS_MAX_RETRIES'] = {} # Timeout in hours. # Modules that run very long are encoded here. CONFIG['CTS_TIMEOUT_DEFAULT'] = 0.2 CONFIG['CTS_TIMEOUT'] = { 'GtsAssistantMicHostTestCases': 0.5, 'GtsExoPlayerTestCases': 1.5, 'GtsGmscoreHostTestCases': 1.0, 'GtsMediaTestCases': 4, 'GtsNetworkWatchlistTestCases': 1.0, 'GtsYouTubeTestCases': 1.0, _ALL: 24, _COLLECT: 1.0, _PUBLIC_COLLECT: 1.0, } # 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.1h = 6 minutes) CONFIG['BVT_TIMEOUT'] = 0.1 # We allow a very long runtime for qualification (1 day). CONFIG['QUAL_TIMEOUT'] = 24 CONFIG['QUAL_BOOKMARKS'] = sorted([ 'A', # A bookend to simplify partition algorithm. 'GtsExoPlayerTestCases', 'GtsMediaTestCases', 'GtsMediaTestCasesz', # runs the biggest module in a single job. 'zzzzz' # A bookend to simplify algorithm. ]) CONFIG['SMOKE'] = [] CONFIG['BVT_ARC'] = [] CONFIG['BVT_PERBUILD'] = [ 'GtsAdminTestCases', 'GtsMemoryHostTestCases', 'GtsMemoryTestCases', 'GtsNetTestCases', 'GtsOsTestCases', 'GtsPlacementTestCases', 'GtsPrivacyTestCases', ] CONFIG['NEEDS_POWER_CYCLE'] = [] CONFIG['HARDWARE_DEPENDENT_MODULES'] = [] CONFIG['VMTEST_INFO_SUITES'] = collections.OrderedDict() # Modules that are known to download and/or push media file assets. CONFIG['MEDIA_MODULES'] = ['GtsYouTubeTestCases'] CONFIG['NEEDS_PUSH_MEDIA'] = CONFIG['MEDIA_MODULES'] + [_ALL] CONFIG['ENABLE_DEFAULT_APPS'] = [] # Preconditions applicable to public and internal tests. CONFIG['PRECONDITION'] = {} CONFIG['LOGIN_PRECONDITION'] = {} CONFIG['LAB_DEPENDENCY'] = {} # Preconditions applicable to public tests. CONFIG['PUBLIC_PRECONDITION'] = {} CONFIG['PUBLIC_DEPENDENCIES'] = {} # This information is changed based on regular analysis of the failure rate on # partner moblabs. CONFIG['PUBLIC_MODULE_RETRY_COUNT'] = { _ALL: 2, 'GtsExoPlayerTestCases': 5, # TODO(b/149376356, b/164230246) 'GtsMediaTestCases': 5, # TODO(b/140841434) 'GtsYouTubeTestCases': 5, # TODO(b/149376356) } CONFIG['PUBLIC_OVERRIDE_TEST_PRIORITY'] = { _PUBLIC_COLLECT: 70, } # This information is changed based on regular analysis of the job run time on # partner moblabs. CONFIG['OVERRIDE_TEST_LENGTH'] = { 'GtsMediaTestCases': 4, _ALL: 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([]) CONFIG['EXTRA_MODULES'] = {} CONFIG['PUBLIC_EXTRA_MODULES'] = {} CONFIG['EXTRA_SUBMODULE_OVERRIDE'] = {} CONFIG['EXTRA_COMMANDLINE'] = {} CONFIG['EXTRA_ATTRIBUTES'] = { 'tradefed-run-collect-tests-only-internal': ['suite:arc-gts'], } CONFIG['EXTRA_ARTIFACTS'] = {} CONFIG['PREREQUISITES'] = { 'GtsGmscoreHostTestCases': ['bluetooth'], } CONFIG['USE_JDK9'] = True from generate_controlfiles_common import main if __name__ == '__main__': main(CONFIG)