| # Copyright 2018, The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| """ |
| Unittest constants. |
| |
| Unittest constants get their own file since they're used purely for testing and |
| should not be combined with constants_defaults as part of normal atest |
| operation. These constants are used commonly as test data so when updating a |
| constant, do so with care and run all unittests to make sure nothing breaks. |
| """ |
| |
| import os |
| |
| import constants |
| from test_finders import test_info |
| from test_runners import atest_tf_test_runner as atf_tr |
| |
| ROOT = '/' |
| MODULE_DIR = 'foo/bar/jank' |
| MODULE2_DIR = 'foo/bar/hello' |
| MODULE_NAME = 'CtsJankDeviceTestCases' |
| MODULE2_NAME = 'HelloWorldTests' |
| CLASS_NAME = 'CtsDeviceJankUi' |
| FULL_CLASS_NAME = 'android.jank.cts.ui.CtsDeviceJankUi' |
| PACKAGE = 'android.jank.cts.ui' |
| FIND_ONE = ROOT + 'foo/bar/jank/src/android/jank/cts/ui/CtsDeviceJankUi.java\n' |
| FIND_TWO = ROOT + 'other/dir/test.java\n' + FIND_ONE |
| FIND_PKG = ROOT + 'foo/bar/jank/src/android/jank/cts/ui\n' |
| INT_NAME = 'example/reboot' |
| GTF_INT_NAME = 'some/gtf_int_test' |
| TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), 'unittest_data') |
| TEST_CONFIG_DATA_DIR = os.path.join(TEST_DATA_DIR, 'test_config') |
| |
| INT_DIR = 'tf/contrib/res/config' |
| GTF_INT_DIR = 'gtf/core/res/config' |
| |
| CONFIG_FILE = os.path.join(MODULE_DIR, constants.MODULE_CONFIG) |
| CONFIG2_FILE = os.path.join(MODULE2_DIR, constants.MODULE_CONFIG) |
| JSON_FILE = 'module-info.json' |
| MODULE_INFO_TARGET = '/out/%s' % JSON_FILE |
| MODULE_BUILD_TARGETS = {'tradefed-core', MODULE_INFO_TARGET, |
| 'MODULES-IN-%s' % MODULE_DIR.replace('/', '-'), |
| 'module-specific-target'} |
| MODULE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE, |
| constants.TI_FILTER: frozenset()} |
| MODULE_INFO = test_info.TestInfo(MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| MODULE_BUILD_TARGETS, |
| MODULE_DATA) |
| CLASS_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset()) |
| CLASS_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE, |
| constants.TI_FILTER: frozenset([CLASS_FILTER])} |
| PACKAGE_FILTER = test_info.TestFilter(PACKAGE, frozenset()) |
| PACKAGE_DATA = {constants.TI_REL_CONFIG: CONFIG_FILE, |
| constants.TI_FILTER: frozenset([PACKAGE_FILTER])} |
| TEST_DATA_CONFIG = os.path.relpath(os.path.join(TEST_DATA_DIR, |
| constants.MODULE_CONFIG), ROOT) |
| PATH_DATA = { |
| constants.TI_REL_CONFIG: TEST_DATA_CONFIG, |
| constants.TI_FILTER: frozenset([PACKAGE_FILTER])} |
| EMPTY_PATH_DATA = { |
| constants.TI_REL_CONFIG: TEST_DATA_CONFIG, |
| constants.TI_FILTER: frozenset()} |
| |
| CLASS_BUILD_TARGETS = {'class-specific-target'} |
| CLASS_INFO = test_info.TestInfo(MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| CLASS_BUILD_TARGETS, |
| CLASS_DATA) |
| PACKAGE_INFO = test_info.TestInfo(MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| CLASS_BUILD_TARGETS, |
| PACKAGE_DATA) |
| PATH_INFO = test_info.TestInfo(MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| MODULE_BUILD_TARGETS, |
| PATH_DATA) |
| EMPTY_PATH_INFO = test_info.TestInfo(MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| MODULE_BUILD_TARGETS, |
| EMPTY_PATH_DATA) |
| MODULE_CLASS_COMBINED_BUILD_TARGETS = MODULE_BUILD_TARGETS | CLASS_BUILD_TARGETS |
| INT_CONFIG = os.path.join(INT_DIR, INT_NAME + '.xml') |
| GTF_INT_CONFIG = os.path.join(GTF_INT_DIR, GTF_INT_NAME + '.xml') |
| METHOD_NAME = 'method1' |
| METHOD_FILTER = test_info.TestFilter(FULL_CLASS_NAME, frozenset([METHOD_NAME])) |
| METHOD_INFO = test_info.TestInfo( |
| MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| MODULE_BUILD_TARGETS, |
| data={constants.TI_FILTER: frozenset([METHOD_FILTER]), |
| constants.TI_REL_CONFIG: CONFIG_FILE}) |
| METHOD2_NAME = 'method2' |
| FLAT_METHOD_FILTER = test_info.TestFilter( |
| FULL_CLASS_NAME, frozenset([METHOD_NAME, METHOD2_NAME])) |
| INT_INFO = test_info.TestInfo(INT_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| set(), |
| data={constants.TI_REL_CONFIG: INT_CONFIG, |
| constants.TI_FILTER: frozenset()}) |
| GTF_INT_INFO = test_info.TestInfo( |
| GTF_INT_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| set(), |
| data={constants.TI_FILTER: frozenset(), |
| constants.TI_REL_CONFIG: GTF_INT_CONFIG}) |
| |
| # Sample test configurations in TEST_MAPPING file. |
| TEST_MAPPING_TEST = {'name': MODULE_NAME} |
| TEST_MAPPING_TEST_WITH_OPTION = { |
| 'name': CLASS_NAME, |
| 'options': [ |
| { |
| 'arg1': 'val1' |
| }, |
| { |
| 'arg2': '' |
| } |
| ] |
| } |
| TEST_MAPPING_TEST_WITH_OPTION_STR = '%s (arg1: val1, arg2:)' % CLASS_NAME |
| TEST_MAPPING_TEST_WITH_BAD_OPTION = { |
| 'name': CLASS_NAME, |
| 'options': [ |
| { |
| 'arg1': 'val1', |
| 'arg2': '' |
| } |
| ] |
| } |
| # Constrants of cc test unittest |
| FIND_CC_ONE = ROOT + 'foo/bt/hci/test/pf_test.cc\n' |
| CC_MODULE_NAME = 'net_test_hci' |
| CC_CLASS_NAME = 'PFTest' |
| CC_MODULE_DIR = 'system/bt/hci' |
| CC_CLASS_FILTER = test_info.TestFilter(CC_CLASS_NAME+".*", frozenset()) |
| CC_CONFIG_FILE = os.path.join(CC_MODULE_DIR, constants.MODULE_CONFIG) |
| CC_MODULE_CLASS_DATA = {constants.TI_REL_CONFIG: CC_CONFIG_FILE, |
| constants.TI_FILTER: frozenset([CC_CLASS_FILTER])} |
| CC_MODULE_CLASS_INFO = test_info.TestInfo(CC_MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| CLASS_BUILD_TARGETS, CC_MODULE_CLASS_DATA) |
| CC_MODULE2_DIR = 'foo/bar/hello' |
| CC_MODULE2_NAME = 'hello_world_test' |
| CC_PATH = 'pf_test.cc' |
| CC_FIND_ONE = ROOT + 'system/bt/hci/test/pf_test.cc:TEST_F(PFTest, test1) {\n' +\ |
| ROOT + 'system/bt/hci/test/pf_test.cc:TEST_F(PFTest, test2) {\n' |
| CC_FIND_TWO = ROOT + 'other/dir/test.cpp:TEST(PFTest, test_f) {\n' +\ |
| ROOT + 'other/dir/test.cpp:TEST(PFTest, test_p) {\n' |
| CC_CONFIG2_FILE = os.path.join(CC_MODULE2_DIR, constants.MODULE_CONFIG) |
| CC_CLASS_FILTER = test_info.TestFilter(CC_CLASS_NAME+".*", frozenset()) |
| CC_CLASS_DATA = {constants.TI_REL_CONFIG: CC_CONFIG_FILE, |
| constants.TI_FILTER: frozenset([CC_CLASS_FILTER])} |
| CC_CLASS_INFO = test_info.TestInfo(CC_MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| CLASS_BUILD_TARGETS, CC_CLASS_DATA) |
| CC_METHOD_NAME = 'test1' |
| CC_METHOD2_NAME = 'test2' |
| CC_METHOD_FILTER = test_info.TestFilter(CC_CLASS_NAME+"."+CC_METHOD_NAME, |
| frozenset()) |
| CC_METHOD2_FILTER = test_info.TestFilter(CC_CLASS_NAME+"."+CC_METHOD_NAME+\ |
| ":"+CC_CLASS_NAME+"."+CC_METHOD2_NAME, |
| frozenset()) |
| CC_METHOD_INFO = test_info.TestInfo( |
| CC_MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| MODULE_BUILD_TARGETS, |
| data={constants.TI_REL_CONFIG: CC_CONFIG_FILE, |
| constants.TI_FILTER: frozenset([CC_METHOD_FILTER])}) |
| CC_METHOD2_INFO = test_info.TestInfo( |
| CC_MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| MODULE_BUILD_TARGETS, |
| data={constants.TI_REL_CONFIG: CC_CONFIG_FILE, |
| constants.TI_FILTER: frozenset([CC_METHOD2_FILTER])}) |
| CC_PATH_DATA = { |
| constants.TI_REL_CONFIG: TEST_DATA_CONFIG, |
| constants.TI_FILTER: frozenset()} |
| CC_PATH_INFO = test_info.TestInfo(CC_MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| MODULE_BUILD_TARGETS, |
| CC_PATH_DATA) |
| CC_PATH_DATA2 = {constants.TI_REL_CONFIG: CC_CONFIG_FILE, |
| constants.TI_FILTER: frozenset()} |
| CC_PATH_INFO2 = test_info.TestInfo(CC_MODULE_NAME, |
| atf_tr.AtestTradefedTestRunner.NAME, |
| CLASS_BUILD_TARGETS, CC_PATH_DATA2) |
| CTS_INT_DIR = 'test/suite_harness/tools/cts-tradefed/res/config' |
| # Constrants of java, kt, cc, cpp test_find_class_file() unittest |
| FIND_PATH_TESTCASE_JAVA = 'hello_world_test' |
| FIND_PATH_FILENAME_CC = 'hello_world_test' |
| FIND_PATH_TESTCASE_CC = 'HelloWorldTest' |
| FIND_PATH_FOLDER = 'class_file_path_testing' |
| FIND_PATH = os.path.join(TEST_DATA_DIR, FIND_PATH_FOLDER) |