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# The dashboard suppresses upload to APFE for GS directories (based on autotest 9# tag) that contain 'tradefed-run-collect-tests'. b/119640440 10# Do not change the name/tag without adjusting the dashboard. 11_COLLECT = 'tradefed-run-collect-tests-only-internal' 12_PUBLIC_COLLECT = 'tradefed-run-collect-tests-only' 13_ALL = 'all' 14 15CONFIG = {} 16 17CONFIG['TEST_NAME'] = 'cheets_GTS' 18CONFIG['DOC_TITLE'] = 'Android Google Test Suite (GTS)' 19CONFIG['MOBLAB_SUITE_NAME'] = 'suite:gts' 20CONFIG['COPYRIGHT_YEAR'] = 2016 21 22CONFIG['AUTHKEY'] = 'gs://chromeos-arc-images/cts/bundle/gts-arc.json' 23CONFIG['TRADEFED_IGNORE_BUSINESS_LOGIC_FAILURE'] = True 24 25CONFIG['LARGE_MAX_RESULT_SIZE'] = 500 * 1024 26CONFIG['NORMAL_MAX_RESULT_SIZE'] = 300 * 1024 27 28CONFIG['TRADEFED_CTS_COMMAND'] ='gts' 29CONFIG['TRADEFED_RETRY_COMMAND'] = 'retry' 30CONFIG['TRADEFED_DISABLE_REBOOT'] = False 31CONFIG['TRADEFED_DISABLE_REBOOT_ON_COLLECTION'] = True 32CONFIG['TRADEFED_MAY_SKIP_DEVICE_INFO'] = False 33CONFIG['NEEDS_DEVICE_INFO'] = [] 34CONFIG['TRADEFED_EXECUTABLE_PATH'] = 'android-gts/tools/gts-tradefed' 35 36CONFIG['INTERNAL_SUITE_NAMES'] = ['suite:arc-gts'] 37CONFIG['QUAL_SUITE_NAMES'] = ['suite:arc-gts-qual'] 38 39CONFIG['CONTROLFILE_TEST_FUNCTION_NAME'] = 'run_TS' 40CONFIG['CONTROLFILE_WRITE_SIMPLE_QUAL_AND_REGRESS'] = False 41CONFIG['CONTROLFILE_WRITE_CAMERA'] = False 42CONFIG['CONTROLFILE_WRITE_EXTRA'] = False 43 44CONFIG['CTS_JOB_RETRIES_IN_PUBLIC'] = 2 45CONFIG['CTS_QUAL_RETRIES'] = 9 46CONFIG['CTS_MAX_RETRIES'] = {} 47 48# Timeout in hours. 49# Modules that run very long are encoded here. 50CONFIG['CTS_TIMEOUT_DEFAULT'] = 0.2 51CONFIG['CTS_TIMEOUT'] = { 52 'GtsExoPlayerTestCases': 1.5, 53 'GtsGmscoreHostTestCases': 1.0, 54 'GtsMediaTestCases': 4, 55 'GtsYouTubeTestCases': 1.0, 56 _ALL: 24, 57 _COLLECT: 0.5, 58 _PUBLIC_COLLECT: 0.5, 59} 60 61# Any test that runs as part as blocking BVT needs to be stable and fast. For 62# this reason we enforce a tight timeout on these modules/jobs. 63# Timeout in hours. (0.1h = 6 minutes) 64CONFIG['BVT_TIMEOUT'] = 0.1 65# We allow a very long runtime for qualification (1 day). 66CONFIG['QUAL_TIMEOUT'] = 24 67 68CONFIG['QUAL_BOOKMARKS'] = sorted([ 69 'A', # A bookend to simplify partition algorithm. 70 'GtsCameraTestCases', # b/144659061 requires it separated from GtsAssistant 71 'zzzzz' # A bookend to simplify algorithm. 72]) 73 74CONFIG['SMOKE'] = [] 75 76CONFIG['BVT_ARC'] = [ 77 'GtsContactsTest', 78] 79 80CONFIG['BVT_PERBUILD'] = [ 81 'GtsAdminTestCases', 82 'GtsMemoryHostTestCases', 83 'GtsMemoryTestCases', 84 'GtsNetTestCases', 85 'GtsOsTestCases', 86 'GtsPlacementTestCases', 87 'GtsPrivacyTestCases', 88] 89 90CONFIG['NEEDS_POWER_CYCLE'] = [] 91 92CONFIG['HARDWARE_DEPENDENT_MODULES'] = [] 93 94CONFIG['VMTEST_INFO_SUITES'] = collections.OrderedDict() 95 96# Modules that are known to download and/or push media file assets. 97CONFIG['MEDIA_MODULES'] = ['GtsYouTubeTestCases'] 98CONFIG['NEEDS_PUSH_MEDIA'] = CONFIG['MEDIA_MODULES'] + [_ALL] 99CONFIG['ENABLE_DEFAULT_APPS'] = [] 100 101# Preconditions applicable to public and internal tests. 102CONFIG['PRECONDITION'] = {} 103CONFIG['LOGIN_PRECONDITION'] = {} 104 105CONFIG['LAB_DEPENDENCY'] = {} 106 107# Preconditions applicable to public tests. 108CONFIG['PUBLIC_PRECONDITION'] = {} 109CONFIG['PUBLIC_DEPENDENCIES'] = {} 110 111# This information is changed based on regular analysis of the failure rate on 112# partner moblabs. 113CONFIG['PUBLIC_MODULE_RETRY_COUNT'] = { 114 _ALL: 2, 115 'GtsMediaTestCases': 5, # TODO(b/140841434) 116 'GtsYouTubeTestCases': 5, # TODO(b/149376356) 117} 118 119CONFIG['PUBLIC_OVERRIDE_TEST_PRIORITY'] = { 120 _PUBLIC_COLLECT: 70, 121} 122 123# This information is changed based on regular analysis of the job run time on 124# partner moblabs. 125 126CONFIG['OVERRIDE_TEST_LENGTH'] = { 127 'GtsMediaTestCases': 4, 128 _ALL: 4, 129 # Even though collect tests doesn't run very long, it must be the very first 130 # job executed inside of the suite. Hence it is the only 'LENGTHY' test. 131 _COLLECT: 5, # LENGTHY 132} 133 134# Enabling --logcat-on-failure can extend total run time significantly if 135# individual tests finish in the order of 10ms or less (b/118836700). Specify 136# modules here to not enable the flag. 137CONFIG['DISABLE_LOGCAT_ON_FAILURE'] = set([]) 138CONFIG['EXTRA_MODULES'] = {} 139CONFIG['PUBLIC_EXTRA_MODULES'] = {} 140CONFIG['EXTRA_SUBMODULE_OVERRIDE'] = {} 141CONFIG['EXTRA_COMMANDLINE'] = {} 142CONFIG['EXTRA_ATTRIBUTES'] = { 143 'tradefed-run-collect-tests-only-internal': ['suite:arc-gts'], 144} 145CONFIG['EXTRA_ARTIFACTS'] = {} 146 147CONFIG['PREREQUISITES'] = { 148 'GtsGmscoreHostTestCases': ['bluetooth'], 149} 150 151from generate_controlfiles_common import main 152 153if __name__ == '__main__': 154 main(CONFIG) 155 156