blob: c757936bc4e5c99ce15a9b54690a6a5811dc4924 [file] [log] [blame]
Kevin Cheng8b2c94c2017-12-18 14:43:26 -08001# 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
24import os
25
26import constants
27from test_finders import test_info
28from test_runners import atest_tf_test_runner as atf_tr
29
30ROOT = '/'
31MODULE_DIR = 'foo/bar/jank'
32MODULE2_DIR = 'foo/bar/hello'
33MODULE_NAME = 'CtsJankDeviceTestCases'
Jim Tangd740fa52019-03-14 16:07:08 +080034TYPO_MODULE_NAME = 'CtsJankDeviceTestCase'
Kevin Cheng8b2c94c2017-12-18 14:43:26 -080035MODULE2_NAME = 'HelloWorldTests'
36CLASS_NAME = 'CtsDeviceJankUi'
37FULL_CLASS_NAME = 'android.jank.cts.ui.CtsDeviceJankUi'
mikehoran6740a412018-02-20 15:04:16 -080038PACKAGE = 'android.jank.cts.ui'
Kevin Cheng8b2c94c2017-12-18 14:43:26 -080039FIND_ONE = ROOT + 'foo/bar/jank/src/android/jank/cts/ui/CtsDeviceJankUi.java\n'
40FIND_TWO = ROOT + 'other/dir/test.java\n' + FIND_ONE
mikehoran6740a412018-02-20 15:04:16 -080041FIND_PKG = ROOT + 'foo/bar/jank/src/android/jank/cts/ui\n'
Kevin Cheng8b2c94c2017-12-18 14:43:26 -080042INT_NAME = 'example/reboot'
43GTF_INT_NAME = 'some/gtf_int_test'
mikehoran8bf6d082018-02-26 16:22:06 -080044TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), 'unittest_data')
nelsonli3cac1342018-08-21 15:33:45 +080045TEST_CONFIG_DATA_DIR = os.path.join(TEST_DATA_DIR, 'test_config')
Kevin Cheng8b2c94c2017-12-18 14:43:26 -080046
47INT_DIR = 'tf/contrib/res/config'
48GTF_INT_DIR = 'gtf/core/res/config'
mikehoran8bf6d082018-02-26 16:22:06 -080049
Kevin Cheng8b2c94c2017-12-18 14:43:26 -080050CONFIG_FILE = os.path.join(MODULE_DIR, constants.MODULE_CONFIG)
51CONFIG2_FILE = os.path.join(MODULE2_DIR, constants.MODULE_CONFIG)
52JSON_FILE = 'module-info.json'
53MODULE_INFO_TARGET = '/out/%s' % JSON_FILE
54MODULE_BUILD_TARGETS = {'tradefed-core', MODULE_INFO_TARGET,
55 'MODULES-IN-%s' % MODULE_DIR.replace('/', '-'),
56 'module-specific-target'}
kellyhung131b3e52019-04-10 17:58:25 +080057MODULE_BUILD_TARGETS2 = {'build-target2'}
Kevin Cheng8b2c94c2017-12-18 14:43:26 -080058MODULE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE,
59 constants.TI_FILTER: frozenset()}
kellyhung131b3e52019-04-10 17:58:25 +080060MODULE_DATA2 = {constants.TI_REL_CONFIG: CONFIG_FILE,
61 constants.TI_FILTER: frozenset()}
Kevin Cheng8b2c94c2017-12-18 14:43:26 -080062MODULE_INFO = test_info.TestInfo(MODULE_NAME,
63 atf_tr.AtestTradefedTestRunner.NAME,
64 MODULE_BUILD_TARGETS,
65 MODULE_DATA)
kellyhung131b3e52019-04-10 17:58:25 +080066MODULE_INFO2 = test_info.TestInfo(MODULE2_NAME,
67 atf_tr.AtestTradefedTestRunner.NAME,
68 MODULE_BUILD_TARGETS2,
69 MODULE_DATA2)
70MODULE_INFOS = [MODULE_INFO]
71MODULE_INFOS2 = [MODULE_INFO, MODULE_INFO2]
Kevin Cheng8b2c94c2017-12-18 14:43:26 -080072CLASS_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset())
73CLASS_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE,
74 constants.TI_FILTER: frozenset([CLASS_FILTER])}
mikehoran6740a412018-02-20 15:04:16 -080075PACKAGE_FILTER = test_info.TestFilter(PACKAGE, frozenset())
76PACKAGE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE,
77 constants.TI_FILTER: frozenset([PACKAGE_FILTER])}
mikehoran8bf6d082018-02-26 16:22:06 -080078TEST_DATA_CONFIG = os.path.relpath(os.path.join(TEST_DATA_DIR,
79 constants.MODULE_CONFIG), ROOT)
80PATH_DATA = {
81 constants.TI_REL_CONFIG: TEST_DATA_CONFIG,
82 constants.TI_FILTER: frozenset([PACKAGE_FILTER])}
83EMPTY_PATH_DATA = {
84 constants.TI_REL_CONFIG: TEST_DATA_CONFIG,
85 constants.TI_FILTER: frozenset()}
86
Kevin Cheng8b2c94c2017-12-18 14:43:26 -080087CLASS_BUILD_TARGETS = {'class-specific-target'}
88CLASS_INFO = test_info.TestInfo(MODULE_NAME,
89 atf_tr.AtestTradefedTestRunner.NAME,
90 CLASS_BUILD_TARGETS,
91 CLASS_DATA)
kellyhung131b3e52019-04-10 17:58:25 +080092CLASS_INFOS = [CLASS_INFO]
93
94CLASS_BUILD_TARGETS2 = {'class-specific-target2'}
95CLASS_DATA2 = {constants.TI_REL_CONFIG: CONFIG_FILE,
96 constants.TI_FILTER: frozenset([CLASS_FILTER])}
97CLASS_INFO2 = test_info.TestInfo(MODULE2_NAME,
98 atf_tr.AtestTradefedTestRunner.NAME,
99 CLASS_BUILD_TARGETS2,
100 CLASS_DATA2)
101CLASS_INFOS = [CLASS_INFO]
102CLASS_INFOS2 = [CLASS_INFO, CLASS_INFO2]
mikehoran6740a412018-02-20 15:04:16 -0800103PACKAGE_INFO = test_info.TestInfo(MODULE_NAME,
104 atf_tr.AtestTradefedTestRunner.NAME,
105 CLASS_BUILD_TARGETS,
106 PACKAGE_DATA)
mikehoran8bf6d082018-02-26 16:22:06 -0800107PATH_INFO = test_info.TestInfo(MODULE_NAME,
108 atf_tr.AtestTradefedTestRunner.NAME,
109 MODULE_BUILD_TARGETS,
110 PATH_DATA)
111EMPTY_PATH_INFO = test_info.TestInfo(MODULE_NAME,
112 atf_tr.AtestTradefedTestRunner.NAME,
113 MODULE_BUILD_TARGETS,
114 EMPTY_PATH_DATA)
Kevin Cheng8b2c94c2017-12-18 14:43:26 -0800115MODULE_CLASS_COMBINED_BUILD_TARGETS = MODULE_BUILD_TARGETS | CLASS_BUILD_TARGETS
116INT_CONFIG = os.path.join(INT_DIR, INT_NAME + '.xml')
117GTF_INT_CONFIG = os.path.join(GTF_INT_DIR, GTF_INT_NAME + '.xml')
118METHOD_NAME = 'method1'
119METHOD_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset([METHOD_NAME]))
120METHOD_INFO = test_info.TestInfo(
121 MODULE_NAME,
122 atf_tr.AtestTradefedTestRunner.NAME,
123 MODULE_BUILD_TARGETS,
124 data={constants.TI_FILTER: frozenset([METHOD_FILTER]),
125 constants.TI_REL_CONFIG: CONFIG_FILE})
126METHOD2_NAME = 'method2'
127FLAT_METHOD_FILTER = test_info.TestFilter(
128 FULL_CLASS_NAME, frozenset([METHOD_NAME, METHOD2_NAME]))
129INT_INFO = test_info.TestInfo(INT_NAME,
130 atf_tr.AtestTradefedTestRunner.NAME,
131 set(),
132 data={constants.TI_REL_CONFIG: INT_CONFIG,
133 constants.TI_FILTER: frozenset()})
134GTF_INT_INFO = test_info.TestInfo(
135 GTF_INT_NAME,
136 atf_tr.AtestTradefedTestRunner.NAME,
137 set(),
138 data={constants.TI_FILTER: frozenset(),
139 constants.TI_REL_CONFIG: GTF_INT_CONFIG})
Dan Shicdbda552018-05-18 23:31:33 -0700140
141# Sample test configurations in TEST_MAPPING file.
Dan Shi08c7b722018-11-29 10:25:59 -0800142TEST_MAPPING_TEST = {'name': MODULE_NAME, 'host': True}
Dan Shicdbda552018-05-18 23:31:33 -0700143TEST_MAPPING_TEST_WITH_OPTION = {
144 'name': CLASS_NAME,
145 'options': [
146 {
147 'arg1': 'val1'
148 },
149 {
150 'arg2': ''
151 }
152 ]
153}
154TEST_MAPPING_TEST_WITH_OPTION_STR = '%s (arg1: val1, arg2:)' % CLASS_NAME
155TEST_MAPPING_TEST_WITH_BAD_OPTION = {
156 'name': CLASS_NAME,
157 'options': [
158 {
159 'arg1': 'val1',
160 'arg2': ''
161 }
162 ]
163}
Dan Shi08c7b722018-11-29 10:25:59 -0800164TEST_MAPPING_TEST_WITH_BAD_HOST_VALUE = {
165 'name': CLASS_NAME,
166 'host': 'true'
167}
kellyhungf4b59472018-05-10 17:00:10 +0800168# Constrants of cc test unittest
169FIND_CC_ONE = ROOT + 'foo/bt/hci/test/pf_test.cc\n'
170CC_MODULE_NAME = 'net_test_hci'
171CC_CLASS_NAME = 'PFTest'
172CC_MODULE_DIR = 'system/bt/hci'
173CC_CLASS_FILTER = test_info.TestFilter(CC_CLASS_NAME+".*", frozenset())
174CC_CONFIG_FILE = os.path.join(CC_MODULE_DIR, constants.MODULE_CONFIG)
175CC_MODULE_CLASS_DATA = {constants.TI_REL_CONFIG: CC_CONFIG_FILE,
176 constants.TI_FILTER: frozenset([CC_CLASS_FILTER])}
177CC_MODULE_CLASS_INFO = test_info.TestInfo(CC_MODULE_NAME,
178 atf_tr.AtestTradefedTestRunner.NAME,
179 CLASS_BUILD_TARGETS, CC_MODULE_CLASS_DATA)
180CC_MODULE2_DIR = 'foo/bar/hello'
181CC_MODULE2_NAME = 'hello_world_test'
182CC_PATH = 'pf_test.cc'
kellyhung131b3e52019-04-10 17:58:25 +0800183CC_FIND_ONE = ROOT + 'system/bt/hci/test/pf_test.cc:TEST_F(PFTest, test1) {\n' + \
184 ROOT + 'system/bt/hci/test/pf_test.cc:TEST_F(PFTest, test2) {\n'
185CC_FIND_TWO = ROOT + 'other/dir/test.cpp:TEST(PFTest, test_f) {\n' + \
186 ROOT + 'other/dir/test.cpp:TEST(PFTest, test_p) {\n'
kellyhungf4b59472018-05-10 17:00:10 +0800187CC_CONFIG2_FILE = os.path.join(CC_MODULE2_DIR, constants.MODULE_CONFIG)
188CC_CLASS_FILTER = test_info.TestFilter(CC_CLASS_NAME+".*", frozenset())
189CC_CLASS_DATA = {constants.TI_REL_CONFIG: CC_CONFIG_FILE,
190 constants.TI_FILTER: frozenset([CC_CLASS_FILTER])}
191CC_CLASS_INFO = test_info.TestInfo(CC_MODULE_NAME,
192 atf_tr.AtestTradefedTestRunner.NAME,
193 CLASS_BUILD_TARGETS, CC_CLASS_DATA)
194CC_METHOD_NAME = 'test1'
195CC_METHOD2_NAME = 'test2'
196CC_METHOD_FILTER = test_info.TestFilter(CC_CLASS_NAME+"."+CC_METHOD_NAME,
197 frozenset())
kellyhung131b3e52019-04-10 17:58:25 +0800198CC_METHOD2_FILTER = test_info.TestFilter(CC_CLASS_NAME+"."+CC_METHOD_NAME+ \
kellyhungf4b59472018-05-10 17:00:10 +0800199 ":"+CC_CLASS_NAME+"."+CC_METHOD2_NAME,
200 frozenset())
201CC_METHOD_INFO = test_info.TestInfo(
202 CC_MODULE_NAME,
203 atf_tr.AtestTradefedTestRunner.NAME,
204 MODULE_BUILD_TARGETS,
205 data={constants.TI_REL_CONFIG: CC_CONFIG_FILE,
206 constants.TI_FILTER: frozenset([CC_METHOD_FILTER])})
207CC_METHOD2_INFO = test_info.TestInfo(
208 CC_MODULE_NAME,
209 atf_tr.AtestTradefedTestRunner.NAME,
210 MODULE_BUILD_TARGETS,
211 data={constants.TI_REL_CONFIG: CC_CONFIG_FILE,
212 constants.TI_FILTER: frozenset([CC_METHOD2_FILTER])})
213CC_PATH_DATA = {
214 constants.TI_REL_CONFIG: TEST_DATA_CONFIG,
215 constants.TI_FILTER: frozenset()}
216CC_PATH_INFO = test_info.TestInfo(CC_MODULE_NAME,
217 atf_tr.AtestTradefedTestRunner.NAME,
218 MODULE_BUILD_TARGETS,
219 CC_PATH_DATA)
220CC_PATH_DATA2 = {constants.TI_REL_CONFIG: CC_CONFIG_FILE,
221 constants.TI_FILTER: frozenset()}
222CC_PATH_INFO2 = test_info.TestInfo(CC_MODULE_NAME,
223 atf_tr.AtestTradefedTestRunner.NAME,
224 CLASS_BUILD_TARGETS, CC_PATH_DATA2)
easoncylee5f5cf032018-06-26 16:17:08 +0800225CTS_INT_DIR = 'test/suite_harness/tools/cts-tradefed/res/config'
yelinhsiehe4580a52018-08-16 15:51:54 +0800226# Constrants of java, kt, cc, cpp test_find_class_file() unittest
227FIND_PATH_TESTCASE_JAVA = 'hello_world_test'
228FIND_PATH_FILENAME_CC = 'hello_world_test'
229FIND_PATH_TESTCASE_CC = 'HelloWorldTest'
230FIND_PATH_FOLDER = 'class_file_path_testing'
231FIND_PATH = os.path.join(TEST_DATA_DIR, FIND_PATH_FOLDER)
easoncyleef0fb2b12019-01-22 15:49:09 +0800232
233DEFAULT_INSTALL_PATH = ['/path/to/install']
Jim Tangd740fa52019-03-14 16:07:08 +0800234# Module names
235MOD1 = 'mod1'
236MOD2 = 'mod2'
237MOD3 = 'mod3'
238FUZZY_MOD1 = 'Mod1'
239FUZZY_MOD2 = 'nod2'
240FUZZY_MOD3 = 'mod3mod3'
Jim Tang9da27dd2019-07-04 15:31:47 +0800241
242LOCATE_CACHE = '/tmp/mcloate.db'
243CLASS_INDEX = '/tmp/classes.idx'
244QCLASS_INDEX = '/tmp/fqcn.idx'
245CC_CLASS_INDEX = '/tmp/cc_classes.idx'
246PACKAGE_INDEX = '/tmp/packages.idx'
247MODULE_INDEX = '/tmp/modules.idx'