| 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' | 
 | 34 | MODULE2_NAME = 'HelloWorldTests' | 
 | 35 | CLASS_NAME = 'CtsDeviceJankUi' | 
 | 36 | FULL_CLASS_NAME = 'android.jank.cts.ui.CtsDeviceJankUi' | 
| mikehoran | 6740a41 | 2018-02-20 15:04:16 -0800 | [diff] [blame] | 37 | PACKAGE = 'android.jank.cts.ui' | 
| Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 38 | FIND_ONE = ROOT + 'foo/bar/jank/src/android/jank/cts/ui/CtsDeviceJankUi.java\n' | 
 | 39 | FIND_TWO = ROOT + 'other/dir/test.java\n' + FIND_ONE | 
| mikehoran | 6740a41 | 2018-02-20 15:04:16 -0800 | [diff] [blame] | 40 | FIND_PKG = ROOT + 'foo/bar/jank/src/android/jank/cts/ui\n' | 
| Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 41 | INT_NAME = 'example/reboot' | 
 | 42 | GTF_INT_NAME = 'some/gtf_int_test' | 
| mikehoran | 8bf6d08 | 2018-02-26 16:22:06 -0800 | [diff] [blame] | 43 | TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), 'unittest_data') | 
| Morris Lin | a2e85f2 | 2018-04-30 14:30:06 +0000 | [diff] [blame] | 44 | RELATIVE_TEST_DATA_DIR = 'relative_test_data_dir' | 
| Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 45 |  | 
 | 46 | INT_DIR = 'tf/contrib/res/config' | 
 | 47 | GTF_INT_DIR = 'gtf/core/res/config' | 
| mikehoran | 8bf6d08 | 2018-02-26 16:22:06 -0800 | [diff] [blame] | 48 |  | 
| Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 49 | CONFIG_FILE = os.path.join(MODULE_DIR, constants.MODULE_CONFIG) | 
 | 50 | CONFIG2_FILE = os.path.join(MODULE2_DIR, constants.MODULE_CONFIG) | 
 | 51 | JSON_FILE = 'module-info.json' | 
 | 52 | MODULE_INFO_TARGET = '/out/%s' % JSON_FILE | 
 | 53 | MODULE_BUILD_TARGETS = {'tradefed-core', MODULE_INFO_TARGET, | 
 | 54 |                         'MODULES-IN-%s' % MODULE_DIR.replace('/', '-'), | 
 | 55 |                         'module-specific-target'} | 
 | 56 | MODULE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE, | 
 | 57 |                constants.TI_FILTER: frozenset()} | 
 | 58 | MODULE_INFO = test_info.TestInfo(MODULE_NAME, | 
 | 59 |                                  atf_tr.AtestTradefedTestRunner.NAME, | 
 | 60 |                                  MODULE_BUILD_TARGETS, | 
 | 61 |                                  MODULE_DATA) | 
 | 62 | CLASS_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset()) | 
 | 63 | CLASS_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE, | 
 | 64 |               constants.TI_FILTER: frozenset([CLASS_FILTER])} | 
| mikehoran | 6740a41 | 2018-02-20 15:04:16 -0800 | [diff] [blame] | 65 | PACKAGE_FILTER = test_info.TestFilter(PACKAGE, frozenset()) | 
 | 66 | PACKAGE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE, | 
 | 67 |                 constants.TI_FILTER: frozenset([PACKAGE_FILTER])} | 
| mikehoran | 8bf6d08 | 2018-02-26 16:22:06 -0800 | [diff] [blame] | 68 | TEST_DATA_CONFIG = os.path.relpath(os.path.join(TEST_DATA_DIR, | 
 | 69 |                                                 constants.MODULE_CONFIG), ROOT) | 
 | 70 | PATH_DATA = { | 
 | 71 |     constants.TI_REL_CONFIG: TEST_DATA_CONFIG, | 
 | 72 |     constants.TI_FILTER: frozenset([PACKAGE_FILTER])} | 
 | 73 | EMPTY_PATH_DATA = { | 
 | 74 |     constants.TI_REL_CONFIG: TEST_DATA_CONFIG, | 
 | 75 |     constants.TI_FILTER: frozenset()} | 
 | 76 |  | 
| Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 77 | CLASS_BUILD_TARGETS = {'class-specific-target'} | 
 | 78 | CLASS_INFO = test_info.TestInfo(MODULE_NAME, | 
 | 79 |                                 atf_tr.AtestTradefedTestRunner.NAME, | 
 | 80 |                                 CLASS_BUILD_TARGETS, | 
 | 81 |                                 CLASS_DATA) | 
| mikehoran | 6740a41 | 2018-02-20 15:04:16 -0800 | [diff] [blame] | 82 | PACKAGE_INFO = test_info.TestInfo(MODULE_NAME, | 
 | 83 |                                   atf_tr.AtestTradefedTestRunner.NAME, | 
 | 84 |                                   CLASS_BUILD_TARGETS, | 
 | 85 |                                   PACKAGE_DATA) | 
| mikehoran | 8bf6d08 | 2018-02-26 16:22:06 -0800 | [diff] [blame] | 86 | PATH_INFO = test_info.TestInfo(MODULE_NAME, | 
 | 87 |                                atf_tr.AtestTradefedTestRunner.NAME, | 
 | 88 |                                MODULE_BUILD_TARGETS, | 
 | 89 |                                PATH_DATA) | 
 | 90 | EMPTY_PATH_INFO = test_info.TestInfo(MODULE_NAME, | 
 | 91 |                                      atf_tr.AtestTradefedTestRunner.NAME, | 
 | 92 |                                      MODULE_BUILD_TARGETS, | 
 | 93 |                                      EMPTY_PATH_DATA) | 
| Kevin Cheng | 8b2c94c | 2017-12-18 14:43:26 -0800 | [diff] [blame] | 94 | MODULE_CLASS_COMBINED_BUILD_TARGETS = MODULE_BUILD_TARGETS | CLASS_BUILD_TARGETS | 
 | 95 | INT_CONFIG = os.path.join(INT_DIR, INT_NAME + '.xml') | 
 | 96 | GTF_INT_CONFIG = os.path.join(GTF_INT_DIR, GTF_INT_NAME + '.xml') | 
 | 97 | METHOD_NAME = 'method1' | 
 | 98 | METHOD_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset([METHOD_NAME])) | 
 | 99 | METHOD_INFO = test_info.TestInfo( | 
 | 100 |     MODULE_NAME, | 
 | 101 |     atf_tr.AtestTradefedTestRunner.NAME, | 
 | 102 |     MODULE_BUILD_TARGETS, | 
 | 103 |     data={constants.TI_FILTER: frozenset([METHOD_FILTER]), | 
 | 104 |           constants.TI_REL_CONFIG: CONFIG_FILE}) | 
 | 105 | METHOD2_NAME = 'method2' | 
 | 106 | FLAT_METHOD_FILTER = test_info.TestFilter( | 
 | 107 |     FULL_CLASS_NAME, frozenset([METHOD_NAME, METHOD2_NAME])) | 
 | 108 | INT_INFO = test_info.TestInfo(INT_NAME, | 
 | 109 |                               atf_tr.AtestTradefedTestRunner.NAME, | 
 | 110 |                               set(), | 
 | 111 |                               data={constants.TI_REL_CONFIG: INT_CONFIG, | 
 | 112 |                                     constants.TI_FILTER: frozenset()}) | 
 | 113 | GTF_INT_INFO = test_info.TestInfo( | 
 | 114 |     GTF_INT_NAME, | 
 | 115 |     atf_tr.AtestTradefedTestRunner.NAME, | 
 | 116 |     set(), | 
 | 117 |     data={constants.TI_FILTER: frozenset(), | 
 | 118 |           constants.TI_REL_CONFIG: GTF_INT_CONFIG}) |