• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2018, The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15"""
16Unittest constants.
17
18Unittest constants get their own file since they're used purely for testing and
19should not be combined with constants_defaults as part of normal atest
20operation. These constants are used commonly as test data so when updating a
21constant, do so with care and run all unittests to make sure nothing breaks.
22"""
23
24# pylint: disable=line-too-long
25
26import os
27
28from atest import constants
29
30from atest.test_finders import test_info
31from atest.test_runners import atest_tf_test_runner as atf_tr
32
33ROOT = '/'
34MODULE_DIR = 'foo/bar/jank'
35MODULE2_DIR = 'foo/bar/hello'
36MODULE_NAME = 'CtsJankDeviceTestCases'
37MODULE_CONFIG_NAME = 'CtsJankDeviceTestCases2'
38HOST_UNIT_TEST_NAME_1 = 'host_unit_test1'
39HOST_UNIT_TEST_NAME_2 = 'host_unit_test2'
40TYPO_MODULE_NAME = 'CtsJankDeviceTestCase'
41MODULE2_NAME = 'HelloWorldTests'
42CLASS_NAME = 'CtsDeviceJankUi'
43FULL_CLASS_NAME = 'android.jank.cts.ui.CtsDeviceJankUi'
44PACKAGE = 'android.jank.cts.ui'
45FIND_ONE = ROOT + 'foo/bar/jank/src/android/jank/cts/ui/CtsDeviceJankUi.java\n'
46FIND_TWO = ROOT + 'other/dir/test.java\n' + FIND_ONE
47FIND_PKG = ROOT + 'foo/bar/jank/src/android/jank/cts/ui\n'
48INT_NAME = 'example/reboot'
49GTF_INT_NAME = 'some/gtf_int_test'
50TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), 'unittest_data')
51TEST_CONFIG_DATA_DIR = os.path.join(TEST_DATA_DIR, 'test_config')
52
53INT_DIR = 'tf/contrib/res/config'
54GTF_INT_DIR = 'gtf/core/res/config'
55
56CONFIG_FILE = os.path.join(MODULE_DIR, constants.MODULE_CONFIG)
57EXTRA_CONFIG_FILE = os.path.join(MODULE_DIR, MODULE_CONFIG_NAME + '.xml')
58CONFIG2_FILE = os.path.join(MODULE2_DIR, constants.MODULE_CONFIG)
59JSON_FILE = 'module-info.json'
60MODULE_INFO_TARGET = '/out/%s' % JSON_FILE
61CC_DEP_FILE = 'module_bp_cc_deps.json'
62JAVA_DEP_FILE = 'module_bp_java_deps.json'
63MERGED_DEP_FILE = 'atest_merged_dep.json'
64MODULE_BUILD_TARGETS = {'tradefed-core', MODULE_INFO_TARGET,
65                        'MODULES-IN-%s' % MODULE_DIR.replace('/', '-'),
66                        'module-specific-target'}
67MODULE_BUILD_TARGETS_W_DALVIK = (MODULE_BUILD_TARGETS |
68                                 {'cts-dalvik-device-test-runner',
69                                  'cts-dalvik-host-test-runner',
70                                  'cts-tradefed'})
71MODULE_BUILD_TARGETS2 = {'build-target2'}
72MODULE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE,
73               constants.TI_FILTER: frozenset()}
74MODULE_DATA2 = {constants.TI_REL_CONFIG: CONFIG_FILE,
75                constants.TI_FILTER: frozenset()}
76MODULE_DATA_W_CONFIG = {constants.TI_REL_CONFIG: EXTRA_CONFIG_FILE,
77                        constants.TI_FILTER: frozenset()}
78MODULE_INFO = test_info.TestInfo(MODULE_NAME,
79                                 atf_tr.AtestTradefedTestRunner.NAME,
80                                 MODULE_BUILD_TARGETS,
81                                 MODULE_DATA)
82MODULE_INFO_W_DALVIK = test_info.TestInfo(
83    MODULE_NAME,
84    atf_tr.AtestTradefedTestRunner.NAME,
85    MODULE_BUILD_TARGETS_W_DALVIK,
86    MODULE_DATA,
87    module_class=[constants.MODULE_CLASS_JAVA_LIBRARIES])
88MODULE_INFO_W_CONFIG = test_info.TestInfo(MODULE_CONFIG_NAME,
89                                          atf_tr.AtestTradefedTestRunner.NAME,
90                                          MODULE_BUILD_TARGETS,
91                                          MODULE_DATA_W_CONFIG)
92MODULE_INFO2 = test_info.TestInfo(MODULE2_NAME,
93                                  atf_tr.AtestTradefedTestRunner.NAME,
94                                  MODULE_BUILD_TARGETS2,
95                                  MODULE_DATA2)
96TEST_CONFIG_MODULE_INFO = test_info.TestInfo(
97    MODULE_CONFIG_NAME,
98    atf_tr.AtestTradefedTestRunner.NAME,
99    MODULE_BUILD_TARGETS,
100    MODULE_DATA_W_CONFIG)
101MODULE_INFO_HOST_1 = test_info.TestInfo(HOST_UNIT_TEST_NAME_1,
102                                        atf_tr.AtestTradefedTestRunner.NAME,
103                                        MODULE_BUILD_TARGETS,
104                                        MODULE_DATA)
105MODULE_INFO_HOST_2 = test_info.TestInfo(HOST_UNIT_TEST_NAME_2,
106                                        atf_tr.AtestTradefedTestRunner.NAME,
107                                        MODULE_BUILD_TARGETS,
108                                        MODULE_DATA)
109MODULE_INFOS = [MODULE_INFO]
110MODULE_INFOS2 = [MODULE_INFO, MODULE_INFO2]
111CLASS_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset())
112CLASS_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE,
113              constants.TI_FILTER: frozenset([CLASS_FILTER])}
114PACKAGE_FILTER = test_info.TestFilter(PACKAGE, frozenset())
115PACKAGE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE,
116                constants.TI_FILTER: frozenset([PACKAGE_FILTER])}
117TEST_DATA_CONFIG = os.path.relpath(os.path.join(TEST_DATA_DIR,
118                                                constants.MODULE_CONFIG), ROOT)
119PATH_DATA = {
120    constants.TI_REL_CONFIG: TEST_DATA_CONFIG,
121    constants.TI_FILTER: frozenset([PACKAGE_FILTER])}
122EMPTY_PATH_DATA = {
123    constants.TI_REL_CONFIG: TEST_DATA_CONFIG,
124    constants.TI_FILTER: frozenset()}
125
126CLASS_BUILD_TARGETS = {'class-specific-target'}
127CLASS_INFO = test_info.TestInfo(MODULE_NAME,
128                                atf_tr.AtestTradefedTestRunner.NAME,
129                                CLASS_BUILD_TARGETS,
130                                CLASS_DATA)
131CLASS_INFOS = [CLASS_INFO]
132
133CLASS_BUILD_TARGETS2 = {'class-specific-target2'}
134CLASS_DATA2 = {constants.TI_REL_CONFIG: CONFIG_FILE,
135               constants.TI_FILTER: frozenset([CLASS_FILTER])}
136CLASS_INFO2 = test_info.TestInfo(MODULE2_NAME,
137                                 atf_tr.AtestTradefedTestRunner.NAME,
138                                 CLASS_BUILD_TARGETS2,
139                                 CLASS_DATA2)
140CLASS_INFOS = [CLASS_INFO]
141CLASS_INFOS2 = [CLASS_INFO, CLASS_INFO2]
142PACKAGE_INFO = test_info.TestInfo(MODULE_NAME,
143                                  atf_tr.AtestTradefedTestRunner.NAME,
144                                  CLASS_BUILD_TARGETS,
145                                  PACKAGE_DATA)
146PATH_INFO = test_info.TestInfo(MODULE_NAME,
147                               atf_tr.AtestTradefedTestRunner.NAME,
148                               MODULE_BUILD_TARGETS,
149                               PATH_DATA)
150EMPTY_PATH_INFO = test_info.TestInfo(MODULE_NAME,
151                                     atf_tr.AtestTradefedTestRunner.NAME,
152                                     MODULE_BUILD_TARGETS,
153                                     EMPTY_PATH_DATA)
154MODULE_CLASS_COMBINED_BUILD_TARGETS = MODULE_BUILD_TARGETS | CLASS_BUILD_TARGETS
155INT_CONFIG = os.path.join(INT_DIR, INT_NAME + '.xml')
156GTF_INT_CONFIG = os.path.join(GTF_INT_DIR, GTF_INT_NAME + '.xml')
157METHOD_NAME = 'method1'
158METHOD_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset([METHOD_NAME]))
159METHOD_INFO = test_info.TestInfo(
160    MODULE_NAME,
161    atf_tr.AtestTradefedTestRunner.NAME,
162    MODULE_BUILD_TARGETS,
163    data={constants.TI_FILTER: frozenset([METHOD_FILTER]),
164          constants.TI_REL_CONFIG: CONFIG_FILE})
165METHOD2_NAME = 'method2'
166FLAT_METHOD_FILTER = test_info.TestFilter(
167    FULL_CLASS_NAME, frozenset([METHOD_NAME, METHOD2_NAME]))
168INT_INFO = test_info.TestInfo(INT_NAME,
169                              atf_tr.AtestTradefedTestRunner.NAME,
170                              set(),
171                              data={constants.TI_REL_CONFIG: INT_CONFIG,
172                                    constants.TI_FILTER: frozenset()})
173# Golden sample test filter for method under parameterized java.
174PARAMETERIZED_METHOD_FILTER = test_info.TestFilter(
175    FULL_CLASS_NAME, frozenset([METHOD_NAME + '*']))
176PARAMETERIZED_METHOD_INFO = test_info.TestInfo(
177    MODULE_NAME,
178    atf_tr.AtestTradefedTestRunner.NAME,
179    MODULE_BUILD_TARGETS,
180    data={constants.TI_FILTER: frozenset([PARAMETERIZED_METHOD_FILTER]),
181          constants.TI_REL_CONFIG: CONFIG_FILE})
182PARAMETERIZED_FLAT_METHOD_FILTER = test_info.TestFilter(
183    FULL_CLASS_NAME, frozenset([METHOD_NAME + '*', METHOD2_NAME + '*']))
184PARAMETERIZED_FLAT_METHOD_INFO = test_info.TestInfo(
185    MODULE_NAME,
186    atf_tr.AtestTradefedTestRunner.NAME,
187    MODULE_BUILD_TARGETS,
188    data={constants.TI_FILTER: frozenset([PARAMETERIZED_FLAT_METHOD_FILTER]),
189          constants.TI_REL_CONFIG: CONFIG_FILE})
190GTF_INT_INFO = test_info.TestInfo(
191    GTF_INT_NAME,
192    atf_tr.AtestTradefedTestRunner.NAME,
193    set(),
194    data={constants.TI_FILTER: frozenset(),
195          constants.TI_REL_CONFIG: GTF_INT_CONFIG})
196
197# Sample test configurations in TEST_MAPPING file.
198TEST_MAPPING_TEST = {'name': MODULE_NAME, 'host': True}
199TEST_MAPPING_TEST_WITH_OPTION = {
200    'name': CLASS_NAME,
201    'options': [
202        {
203            'arg1': 'val1'
204        },
205        {
206            'arg2': ''
207        }
208    ]
209}
210TEST_MAPPING_TEST_WITH_OPTION_STR = '%s (arg1: val1, arg2:)' % CLASS_NAME
211TEST_MAPPING_TEST_WITH_BAD_OPTION = {
212    'name': CLASS_NAME,
213    'options': [
214        {
215            'arg1': 'val1',
216            'arg2': ''
217        }
218    ]
219}
220TEST_MAPPING_TEST_WITH_BAD_HOST_VALUE = {
221    'name': CLASS_NAME,
222    'host': 'true'
223}
224# Constrants of cc test unittest
225FIND_CC_ONE = ROOT + 'foo/bt/hci/test/pf_test.cc\n'
226CC_MODULE_NAME = 'net_test_hci'
227CC_CLASS_NAME = 'PFTest'
228CC_MODULE_DIR = 'system/bt/hci'
229CC_CLASS_FILTER = test_info.TestFilter(CC_CLASS_NAME, frozenset())
230CC_CONFIG_FILE = os.path.join(CC_MODULE_DIR, constants.MODULE_CONFIG)
231CC_MODULE_CLASS_DATA = {constants.TI_REL_CONFIG: CC_CONFIG_FILE,
232                        constants.TI_FILTER: frozenset([CC_CLASS_FILTER])}
233CC_MODULE_CLASS_INFO = test_info.TestInfo(CC_MODULE_NAME,
234                                          atf_tr.AtestTradefedTestRunner.NAME,
235                                          CLASS_BUILD_TARGETS, CC_MODULE_CLASS_DATA)
236CC_MODULE2_DIR = 'foo/bar/hello'
237CC_MODULE2_NAME = 'hello_world_test'
238CC_PATH = 'pf_test.cc'
239CC_FIND_ONE = ROOT + 'system/bt/hci/test/pf_test.cc:TEST_F(PFTest, test1) {\n' + \
240              ROOT + 'system/bt/hci/test/pf_test.cc:TEST_F(PFTest, test2) {\n'
241CC_FIND_TWO = ROOT + 'other/dir/test.cpp:TEST(PFTest, test_f) {\n' + \
242              ROOT + 'other/dir/test.cpp:TEST(PFTest, test_p) {\n'
243CC_CONFIG2_FILE = os.path.join(CC_MODULE2_DIR, constants.MODULE_CONFIG)
244CC_CLASS_FILTER = test_info.TestFilter(CC_CLASS_NAME+".*", frozenset())
245CC_CLASS_DATA = {constants.TI_REL_CONFIG: CC_CONFIG_FILE,
246                 constants.TI_FILTER: frozenset([CC_CLASS_FILTER])}
247CC_CLASS_INFO = test_info.TestInfo(CC_MODULE_NAME,
248                                   atf_tr.AtestTradefedTestRunner.NAME,
249                                   CLASS_BUILD_TARGETS, CC_CLASS_DATA)
250CC_METHOD_NAME = 'test1'
251CC_METHOD2_NAME = 'test2'
252CC_METHOD_FILTER = test_info.TestFilter(CC_CLASS_NAME+"."+CC_METHOD_NAME,
253                                        frozenset())
254CC_METHOD2_FILTER = test_info.TestFilter(CC_CLASS_NAME+"."+CC_METHOD_NAME+ \
255                                         ":"+CC_CLASS_NAME+"."+CC_METHOD2_NAME,
256                                         frozenset())
257CC_METHOD3_FILTER = test_info.TestFilter(CC_CLASS_NAME,
258                                         frozenset([CC_METHOD_NAME]))
259CC_METHOD_INFO = test_info.TestInfo(
260    CC_MODULE_NAME,
261    atf_tr.AtestTradefedTestRunner.NAME,
262    MODULE_BUILD_TARGETS,
263    data={constants.TI_REL_CONFIG: CC_CONFIG_FILE,
264          constants.TI_FILTER: frozenset([CC_METHOD_FILTER])})
265CC_METHOD2_INFO = test_info.TestInfo(
266    CC_MODULE_NAME,
267    atf_tr.AtestTradefedTestRunner.NAME,
268    MODULE_BUILD_TARGETS,
269    data={constants.TI_REL_CONFIG: CC_CONFIG_FILE,
270          constants.TI_FILTER: frozenset([CC_METHOD2_FILTER])})
271CC_METHOD3_INFO = test_info.TestInfo(
272    CC_MODULE_NAME,
273    atf_tr.AtestTradefedTestRunner.NAME,
274    MODULE_BUILD_TARGETS,
275    data={constants.TI_REL_CONFIG: CC_CONFIG_FILE,
276          constants.TI_FILTER: frozenset([CC_METHOD3_FILTER])})
277CC_PATH_DATA = {
278    constants.TI_REL_CONFIG: TEST_DATA_CONFIG,
279    constants.TI_FILTER: frozenset()}
280CC_PATH_INFO = test_info.TestInfo(CC_MODULE_NAME,
281                                  atf_tr.AtestTradefedTestRunner.NAME,
282                                  MODULE_BUILD_TARGETS,
283                                  CC_PATH_DATA)
284CC_PATH_DATA2 = {constants.TI_REL_CONFIG: CC_CONFIG_FILE,
285                 constants.TI_FILTER: frozenset()}
286CC_PATH_INFO2 = test_info.TestInfo(CC_MODULE_NAME,
287                                   atf_tr.AtestTradefedTestRunner.NAME,
288                                   CLASS_BUILD_TARGETS, CC_PATH_DATA2)
289CTS_INT_DIR = 'test/suite_harness/tools/cts-tradefed/res/config'
290# Constrants of java, kt, cc, cpp test_find_class_file() unittest
291FIND_PATH_TESTCASE_JAVA = 'hello_world_test'
292FIND_PATH_FILENAME_CC = 'hello_world_test'
293FIND_PATH_TESTCASE_CC = 'HelloWorldTest'
294FIND_PATH_FOLDER = 'class_file_path_testing'
295FIND_PATH = os.path.join(TEST_DATA_DIR, FIND_PATH_FOLDER)
296
297DEFAULT_INSTALL_PATH = ['/path/to/install']
298# Module names
299MOD1 = 'mod1'
300MOD2 = 'mod2'
301MOD3 = 'mod3'
302FUZZY_MOD1 = 'Mod1'
303FUZZY_MOD2 = 'nod2'
304FUZZY_MOD3 = 'mod3mod3'
305
306INDEX_DIR = os.path.join('/tmp', 'indexes')
307LOCATE_CACHE = os.path.join(INDEX_DIR, 'plocate.db')
308LOCATE_CACHE_MD5 = os.path.join(INDEX_DIR, 'plocate.md5')
309CLASS_INDEX = os.path.join(INDEX_DIR, 'classes.idx')
310QCLASS_INDEX = os.path.join(INDEX_DIR, 'fqcn.idx')
311CC_CLASS_INDEX = os.path.join(INDEX_DIR, 'cc_classes.idx')
312PACKAGE_INDEX = os.path.join(INDEX_DIR, 'packages.idx')
313MODULE_INFO_MD5 = os.path.join(INDEX_DIR, 'module-info.md5')
314
315# TF's log dir
316TEST_INFO_DIR = '/tmp/atest_run_1510085893_pi_Nbi'
317
318# Constants for get_test_config unit tests.
319ANDTEST_CONFIG_PATH = 'my/android/config/path'
320SINGLE_CONFIG_PATH = 'my/single/config/path'
321MULTIPLE_CONFIG_PATH = 'my/multiple/config/path'
322MAIN_CONFIG_NAME = 'main_test_config.xml'
323SINGLE_CONFIG_NAME = 'test_config.xml'
324SUB_CONFIG_NAME_2 = 'Multiple2.xml'
325