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 'GtsAssistantMicHostTestCases': 0.5, 53 'GtsExoPlayerTestCases': 1.5, 54 'GtsGmscoreHostTestCases': 1.0, 55 'GtsMediaTestCases': 4, 56 'GtsNetworkWatchlistTestCases': 1.0, 57 'GtsYouTubeTestCases': 1.0, 58 _ALL: 24, 59 _COLLECT: 1.0, 60 _PUBLIC_COLLECT: 1.0, 61} 62 63# Any test that runs as part as blocking BVT needs to be stable and fast. For 64# this reason we enforce a tight timeout on these modules/jobs. 65# Timeout in hours. (0.1h = 6 minutes) 66CONFIG['BVT_TIMEOUT'] = 0.1 67# We allow a very long runtime for qualification (1 day). 68CONFIG['QUAL_TIMEOUT'] = 24 69 70CONFIG['QUAL_BOOKMARKS'] = sorted([ 71 'A', # A bookend to simplify partition algorithm. 72 'GtsExoPlayerTestCases', 73 'GtsMediaTestCases', 74 'GtsMediaTestCasesz', # runs the biggest module in a single job. 75 'zzzzz' # A bookend to simplify algorithm. 76]) 77 78CONFIG['SMOKE'] = [] 79 80CONFIG['BVT_ARC'] = [] 81 82CONFIG['BVT_PERBUILD'] = [ 83 'GtsAdminTestCases', 84 'GtsMemoryHostTestCases', 85 'GtsMemoryTestCases', 86 'GtsNetTestCases', 87 'GtsOsTestCases', 88 'GtsPlacementTestCases', 89 'GtsPrivacyTestCases', 90] 91 92CONFIG['NEEDS_POWER_CYCLE'] = [] 93 94CONFIG['HARDWARE_DEPENDENT_MODULES'] = [] 95 96CONFIG['VMTEST_INFO_SUITES'] = collections.OrderedDict() 97 98# Modules that are known to download and/or push media file assets. 99CONFIG['MEDIA_MODULES'] = ['GtsYouTubeTestCases'] 100CONFIG['NEEDS_PUSH_MEDIA'] = CONFIG['MEDIA_MODULES'] + [_ALL] 101CONFIG['ENABLE_DEFAULT_APPS'] = [] 102 103# Preconditions applicable to public and internal tests. 104CONFIG['PRECONDITION'] = {} 105CONFIG['LOGIN_PRECONDITION'] = {} 106 107CONFIG['LAB_DEPENDENCY'] = {} 108 109# Preconditions applicable to public tests. 110CONFIG['PUBLIC_PRECONDITION'] = {} 111CONFIG['PUBLIC_DEPENDENCIES'] = {} 112 113# This information is changed based on regular analysis of the failure rate on 114# partner moblabs. 115CONFIG['PUBLIC_MODULE_RETRY_COUNT'] = { 116 _ALL: 2, 117 'GtsExoPlayerTestCases': 5, # TODO(b/149376356, b/164230246) 118 'GtsMediaTestCases': 5, # TODO(b/140841434) 119 'GtsYouTubeTestCases': 5, # TODO(b/149376356) 120} 121 122CONFIG['PUBLIC_OVERRIDE_TEST_PRIORITY'] = { 123 _PUBLIC_COLLECT: 70, 124} 125 126# This information is changed based on regular analysis of the job run time on 127# partner moblabs. 128 129CONFIG['OVERRIDE_TEST_LENGTH'] = { 130 'GtsMediaTestCases': 4, 131 _ALL: 4, 132 # Even though collect tests doesn't run very long, it must be the very first 133 # job executed inside of the suite. Hence it is the only 'LENGTHY' test. 134 _COLLECT: 5, # LENGTHY 135} 136 137# Enabling --logcat-on-failure can extend total run time significantly if 138# individual tests finish in the order of 10ms or less (b/118836700). Specify 139# modules here to not enable the flag. 140CONFIG['DISABLE_LOGCAT_ON_FAILURE'] = set([]) 141CONFIG['EXTRA_MODULES'] = {} 142CONFIG['PUBLIC_EXTRA_MODULES'] = {} 143CONFIG['EXTRA_SUBMODULE_OVERRIDE'] = {} 144CONFIG['EXTRA_COMMANDLINE'] = {} 145CONFIG['EXTRA_ATTRIBUTES'] = { 146 'tradefed-run-collect-tests-only-internal': ['suite:arc-gts'], 147} 148CONFIG['EXTRA_ARTIFACTS'] = {} 149 150CONFIG['PREREQUISITES'] = { 151 'GtsGmscoreHostTestCases': ['bluetooth'], 152} 153CONFIG['USE_JDK9'] = True 154 155from generate_controlfiles_common import main 156 157if __name__ == '__main__': 158 main(CONFIG) 159