Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 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 | """ |
| 16 | Unittest constants. |
| 17 | |
| 18 | Unittest constants get their own file since they're used purely for testing and |
| 19 | should not be combined with constants_defaults as part of normal atest |
| 20 | operation. These constants are used commonly as test data so when updating a |
| 21 | constant, do so with care and run all unittests to make sure nothing breaks. |
| 22 | """ |
| 23 | |
| 24 | import os |
| 25 | |
| 26 | import constants |
| 27 | from test_finders import test_info |
| 28 | from test_runners import atest_tf_test_runner as atf_tr |
| 29 | |
| 30 | ROOT = '/' |
| 31 | MODULE_DIR = 'foo/bar/jank' |
| 32 | MODULE2_DIR = 'foo/bar/hello' |
| 33 | MODULE_NAME = 'CtsJankDeviceTestCases' |
Jim Tang | d740fa5 | 2019-03-14 16:07:08 +0800 | [diff] [blame] | 34 | TYPO_MODULE_NAME = 'CtsJankDeviceTestCase' |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 35 | MODULE2_NAME = 'HelloWorldTests' |
| 36 | CLASS_NAME = 'CtsDeviceJankUi' |
| 37 | FULL_CLASS_NAME = 'android.jank.cts.ui.CtsDeviceJankUi' |
mikehoran | 6740a41 | 2018-02-20 15:04:16 -0800 | [diff] [blame] | 38 | PACKAGE = 'android.jank.cts.ui' |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 39 | FIND_ONE = ROOT + 'foo/bar/jank/src/android/jank/cts/ui/CtsDeviceJankUi.java\n' |
| 40 | FIND_TWO = ROOT + 'other/dir/test.java\n' + FIND_ONE |
mikehoran | 6740a41 | 2018-02-20 15:04:16 -0800 | [diff] [blame] | 41 | FIND_PKG = ROOT + 'foo/bar/jank/src/android/jank/cts/ui\n' |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 42 | INT_NAME = 'example/reboot' |
| 43 | GTF_INT_NAME = 'some/gtf_int_test' |
mikehoran | 8bf6d08 | 2018-02-26 16:22:06 -0800 | [diff] [blame] | 44 | TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), 'unittest_data') |
nelsonli | 3cac134 | 2018-08-21 15:33:45 +0800 | [diff] [blame] | 45 | TEST_CONFIG_DATA_DIR = os.path.join(TEST_DATA_DIR, 'test_config') |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 46 | |
| 47 | INT_DIR = 'tf/contrib/res/config' |
| 48 | GTF_INT_DIR = 'gtf/core/res/config' |
mikehoran | 8bf6d08 | 2018-02-26 16:22:06 -0800 | [diff] [blame] | 49 | |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 50 | CONFIG_FILE = os.path.join(MODULE_DIR, constants.MODULE_CONFIG) |
| 51 | CONFIG2_FILE = os.path.join(MODULE2_DIR, constants.MODULE_CONFIG) |
| 52 | JSON_FILE = 'module-info.json' |
| 53 | MODULE_INFO_TARGET = '/out/%s' % JSON_FILE |
| 54 | MODULE_BUILD_TARGETS = {'tradefed-core', MODULE_INFO_TARGET, |
| 55 | 'MODULES-IN-%s' % MODULE_DIR.replace('/', '-'), |
| 56 | 'module-specific-target'} |
kellyhung | 131b3e5 | 2019-04-10 17:58:25 +0800 | [diff] [blame] | 57 | MODULE_BUILD_TARGETS2 = {'build-target2'} |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 58 | MODULE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE, |
| 59 | constants.TI_FILTER: frozenset()} |
kellyhung | 131b3e5 | 2019-04-10 17:58:25 +0800 | [diff] [blame] | 60 | MODULE_DATA2 = {constants.TI_REL_CONFIG: CONFIG_FILE, |
| 61 | constants.TI_FILTER: frozenset()} |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 62 | MODULE_INFO = test_info.TestInfo(MODULE_NAME, |
| 63 | atf_tr.AtestTradefedTestRunner.NAME, |
| 64 | MODULE_BUILD_TARGETS, |
| 65 | MODULE_DATA) |
kellyhung | 131b3e5 | 2019-04-10 17:58:25 +0800 | [diff] [blame] | 66 | MODULE_INFO2 = test_info.TestInfo(MODULE2_NAME, |
| 67 | atf_tr.AtestTradefedTestRunner.NAME, |
| 68 | MODULE_BUILD_TARGETS2, |
| 69 | MODULE_DATA2) |
| 70 | MODULE_INFOS = [MODULE_INFO] |
| 71 | MODULE_INFOS2 = [MODULE_INFO, MODULE_INFO2] |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 72 | CLASS_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset()) |
| 73 | CLASS_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE, |
| 74 | constants.TI_FILTER: frozenset([CLASS_FILTER])} |
mikehoran | 6740a41 | 2018-02-20 15:04:16 -0800 | [diff] [blame] | 75 | PACKAGE_FILTER = test_info.TestFilter(PACKAGE, frozenset()) |
| 76 | PACKAGE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE, |
| 77 | constants.TI_FILTER: frozenset([PACKAGE_FILTER])} |
mikehoran | 8bf6d08 | 2018-02-26 16:22:06 -0800 | [diff] [blame] | 78 | TEST_DATA_CONFIG = os.path.relpath(os.path.join(TEST_DATA_DIR, |
| 79 | constants.MODULE_CONFIG), ROOT) |
| 80 | PATH_DATA = { |
| 81 | constants.TI_REL_CONFIG: TEST_DATA_CONFIG, |
| 82 | constants.TI_FILTER: frozenset([PACKAGE_FILTER])} |
| 83 | EMPTY_PATH_DATA = { |
| 84 | constants.TI_REL_CONFIG: TEST_DATA_CONFIG, |
| 85 | constants.TI_FILTER: frozenset()} |
| 86 | |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 87 | CLASS_BUILD_TARGETS = {'class-specific-target'} |
| 88 | CLASS_INFO = test_info.TestInfo(MODULE_NAME, |
| 89 | atf_tr.AtestTradefedTestRunner.NAME, |
| 90 | CLASS_BUILD_TARGETS, |
| 91 | CLASS_DATA) |
kellyhung | 131b3e5 | 2019-04-10 17:58:25 +0800 | [diff] [blame] | 92 | CLASS_INFOS = [CLASS_INFO] |
| 93 | |
| 94 | CLASS_BUILD_TARGETS2 = {'class-specific-target2'} |
| 95 | CLASS_DATA2 = {constants.TI_REL_CONFIG: CONFIG_FILE, |
| 96 | constants.TI_FILTER: frozenset([CLASS_FILTER])} |
| 97 | CLASS_INFO2 = test_info.TestInfo(MODULE2_NAME, |
| 98 | atf_tr.AtestTradefedTestRunner.NAME, |
| 99 | CLASS_BUILD_TARGETS2, |
| 100 | CLASS_DATA2) |
| 101 | CLASS_INFOS = [CLASS_INFO] |
| 102 | CLASS_INFOS2 = [CLASS_INFO, CLASS_INFO2] |
mikehoran | 6740a41 | 2018-02-20 15:04:16 -0800 | [diff] [blame] | 103 | PACKAGE_INFO = test_info.TestInfo(MODULE_NAME, |
| 104 | atf_tr.AtestTradefedTestRunner.NAME, |
| 105 | CLASS_BUILD_TARGETS, |
| 106 | PACKAGE_DATA) |
mikehoran | 8bf6d08 | 2018-02-26 16:22:06 -0800 | [diff] [blame] | 107 | PATH_INFO = test_info.TestInfo(MODULE_NAME, |
| 108 | atf_tr.AtestTradefedTestRunner.NAME, |
| 109 | MODULE_BUILD_TARGETS, |
| 110 | PATH_DATA) |
| 111 | EMPTY_PATH_INFO = test_info.TestInfo(MODULE_NAME, |
| 112 | atf_tr.AtestTradefedTestRunner.NAME, |
| 113 | MODULE_BUILD_TARGETS, |
| 114 | EMPTY_PATH_DATA) |
Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 115 | MODULE_CLASS_COMBINED_BUILD_TARGETS = MODULE_BUILD_TARGETS | CLASS_BUILD_TARGETS |
| 116 | INT_CONFIG = os.path.join(INT_DIR, INT_NAME + '.xml') |
| 117 | GTF_INT_CONFIG = os.path.join(GTF_INT_DIR, GTF_INT_NAME + '.xml') |
| 118 | METHOD_NAME = 'method1' |
| 119 | METHOD_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset([METHOD_NAME])) |
| 120 | METHOD_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}) |
| 126 | METHOD2_NAME = 'method2' |
| 127 | FLAT_METHOD_FILTER = test_info.TestFilter( |
| 128 | FULL_CLASS_NAME, frozenset([METHOD_NAME, METHOD2_NAME])) |
| 129 | INT_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()}) |
| 134 | GTF_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 Shi | cdbda55 | 2018-05-18 23:31:33 -0700 | [diff] [blame] | 140 | |
| 141 | # Sample test configurations in TEST_MAPPING file. |
Dan Shi | 08c7b72 | 2018-11-29 10:25:59 -0800 | [diff] [blame] | 142 | TEST_MAPPING_TEST = {'name': MODULE_NAME, 'host': True} |
Dan Shi | cdbda55 | 2018-05-18 23:31:33 -0700 | [diff] [blame] | 143 | TEST_MAPPING_TEST_WITH_OPTION = { |
| 144 | 'name': CLASS_NAME, |
| 145 | 'options': [ |
| 146 | { |
| 147 | 'arg1': 'val1' |
| 148 | }, |
| 149 | { |
| 150 | 'arg2': '' |
| 151 | } |
| 152 | ] |
| 153 | } |
| 154 | TEST_MAPPING_TEST_WITH_OPTION_STR = '%s (arg1: val1, arg2:)' % CLASS_NAME |
| 155 | TEST_MAPPING_TEST_WITH_BAD_OPTION = { |
| 156 | 'name': CLASS_NAME, |
| 157 | 'options': [ |
| 158 | { |
| 159 | 'arg1': 'val1', |
| 160 | 'arg2': '' |
| 161 | } |
| 162 | ] |
| 163 | } |
Dan Shi | 08c7b72 | 2018-11-29 10:25:59 -0800 | [diff] [blame] | 164 | TEST_MAPPING_TEST_WITH_BAD_HOST_VALUE = { |
| 165 | 'name': CLASS_NAME, |
| 166 | 'host': 'true' |
| 167 | } |
kellyhung | f4b5947 | 2018-05-10 17:00:10 +0800 | [diff] [blame] | 168 | # Constrants of cc test unittest |
| 169 | FIND_CC_ONE = ROOT + 'foo/bt/hci/test/pf_test.cc\n' |
| 170 | CC_MODULE_NAME = 'net_test_hci' |
| 171 | CC_CLASS_NAME = 'PFTest' |
| 172 | CC_MODULE_DIR = 'system/bt/hci' |
| 173 | CC_CLASS_FILTER = test_info.TestFilter(CC_CLASS_NAME+".*", frozenset()) |
| 174 | CC_CONFIG_FILE = os.path.join(CC_MODULE_DIR, constants.MODULE_CONFIG) |
| 175 | CC_MODULE_CLASS_DATA = {constants.TI_REL_CONFIG: CC_CONFIG_FILE, |
| 176 | constants.TI_FILTER: frozenset([CC_CLASS_FILTER])} |
| 177 | CC_MODULE_CLASS_INFO = test_info.TestInfo(CC_MODULE_NAME, |
| 178 | atf_tr.AtestTradefedTestRunner.NAME, |
| 179 | CLASS_BUILD_TARGETS, CC_MODULE_CLASS_DATA) |
| 180 | CC_MODULE2_DIR = 'foo/bar/hello' |
| 181 | CC_MODULE2_NAME = 'hello_world_test' |
| 182 | CC_PATH = 'pf_test.cc' |
kellyhung | 131b3e5 | 2019-04-10 17:58:25 +0800 | [diff] [blame] | 183 | CC_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' |
| 185 | CC_FIND_TWO = ROOT + 'other/dir/test.cpp:TEST(PFTest, test_f) {\n' + \ |
| 186 | ROOT + 'other/dir/test.cpp:TEST(PFTest, test_p) {\n' |
kellyhung | f4b5947 | 2018-05-10 17:00:10 +0800 | [diff] [blame] | 187 | CC_CONFIG2_FILE = os.path.join(CC_MODULE2_DIR, constants.MODULE_CONFIG) |
| 188 | CC_CLASS_FILTER = test_info.TestFilter(CC_CLASS_NAME+".*", frozenset()) |
| 189 | CC_CLASS_DATA = {constants.TI_REL_CONFIG: CC_CONFIG_FILE, |
| 190 | constants.TI_FILTER: frozenset([CC_CLASS_FILTER])} |
| 191 | CC_CLASS_INFO = test_info.TestInfo(CC_MODULE_NAME, |
| 192 | atf_tr.AtestTradefedTestRunner.NAME, |
| 193 | CLASS_BUILD_TARGETS, CC_CLASS_DATA) |
| 194 | CC_METHOD_NAME = 'test1' |
| 195 | CC_METHOD2_NAME = 'test2' |
| 196 | CC_METHOD_FILTER = test_info.TestFilter(CC_CLASS_NAME+"."+CC_METHOD_NAME, |
| 197 | frozenset()) |
kellyhung | 131b3e5 | 2019-04-10 17:58:25 +0800 | [diff] [blame] | 198 | CC_METHOD2_FILTER = test_info.TestFilter(CC_CLASS_NAME+"."+CC_METHOD_NAME+ \ |
kellyhung | f4b5947 | 2018-05-10 17:00:10 +0800 | [diff] [blame] | 199 | ":"+CC_CLASS_NAME+"."+CC_METHOD2_NAME, |
| 200 | frozenset()) |
| 201 | CC_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])}) |
| 207 | CC_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])}) |
| 213 | CC_PATH_DATA = { |
| 214 | constants.TI_REL_CONFIG: TEST_DATA_CONFIG, |
| 215 | constants.TI_FILTER: frozenset()} |
| 216 | CC_PATH_INFO = test_info.TestInfo(CC_MODULE_NAME, |
| 217 | atf_tr.AtestTradefedTestRunner.NAME, |
| 218 | MODULE_BUILD_TARGETS, |
| 219 | CC_PATH_DATA) |
| 220 | CC_PATH_DATA2 = {constants.TI_REL_CONFIG: CC_CONFIG_FILE, |
| 221 | constants.TI_FILTER: frozenset()} |
| 222 | CC_PATH_INFO2 = test_info.TestInfo(CC_MODULE_NAME, |
| 223 | atf_tr.AtestTradefedTestRunner.NAME, |
| 224 | CLASS_BUILD_TARGETS, CC_PATH_DATA2) |
easoncylee | 5f5cf03 | 2018-06-26 16:17:08 +0800 | [diff] [blame] | 225 | CTS_INT_DIR = 'test/suite_harness/tools/cts-tradefed/res/config' |
yelinhsieh | e4580a5 | 2018-08-16 15:51:54 +0800 | [diff] [blame] | 226 | # Constrants of java, kt, cc, cpp test_find_class_file() unittest |
| 227 | FIND_PATH_TESTCASE_JAVA = 'hello_world_test' |
| 228 | FIND_PATH_FILENAME_CC = 'hello_world_test' |
| 229 | FIND_PATH_TESTCASE_CC = 'HelloWorldTest' |
| 230 | FIND_PATH_FOLDER = 'class_file_path_testing' |
| 231 | FIND_PATH = os.path.join(TEST_DATA_DIR, FIND_PATH_FOLDER) |
easoncylee | f0fb2b1 | 2019-01-22 15:49:09 +0800 | [diff] [blame] | 232 | |
| 233 | DEFAULT_INSTALL_PATH = ['/path/to/install'] |
Jim Tang | d740fa5 | 2019-03-14 16:07:08 +0800 | [diff] [blame] | 234 | # Module names |
| 235 | MOD1 = 'mod1' |
| 236 | MOD2 = 'mod2' |
| 237 | MOD3 = 'mod3' |
| 238 | FUZZY_MOD1 = 'Mod1' |
| 239 | FUZZY_MOD2 = 'nod2' |
| 240 | FUZZY_MOD3 = 'mod3mod3' |
Jim Tang | 9da27dd | 2019-07-04 15:31:47 +0800 | [diff] [blame] | 241 | |
| 242 | LOCATE_CACHE = '/tmp/mcloate.db' |
| 243 | CLASS_INDEX = '/tmp/classes.idx' |
| 244 | QCLASS_INDEX = '/tmp/fqcn.idx' |
| 245 | CC_CLASS_INDEX = '/tmp/cc_classes.idx' |
| 246 | PACKAGE_INDEX = '/tmp/packages.idx' |
| 247 | MODULE_INDEX = '/tmp/modules.idx' |