• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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