1 # 2 # Copyright (C) 2016 The Android Open Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 # 16 """This module has the global key values that are used across framework 17 modules. 18 """ 19 20 21 class ConfigKeys(object): 22 """Enum values for test config related lookups. 23 """ 24 # Keys used to look up values from test config files. 25 # These keys define the wording of test configs and their internal 26 # references. 27 KEY_LOG_PATH = "log_path" 28 KEY_LOG_SEVERITY = "log_severity" 29 KEY_TESTBED = "test_bed" 30 KEY_TESTBED_NAME = "name" 31 KEY_TEST_PATHS = "test_paths" 32 KEY_TEST_SUITE = "test_suite" 33 KEY_TEST_MAX_TIMEOUT = "test_max_timeout" 34 35 # Keys in test suite 36 KEY_INCLUDE_FILTER = "include_filter" 37 KEY_EXCLUDE_FILTER = "exclude_filter" 38 KEY_EXCLUDE_OVER_INCLUDE = "exclude_over_include" 39 40 # Keys for binary tests 41 IKEY_BINARY_TEST_SOURCE = "binary_test_source" 42 IKEY_BINARY_TEST_WORKING_DIRECTORY = "binary_test_working_directory" 43 IKEY_BINARY_TEST_ENVP = "binary_test_envp" 44 IKEY_BINARY_TEST_ARGS = "binary_test_args" 45 IKEY_BINARY_TEST_LD_LIBRARY_PATH = "binary_test_ld_library_path" 46 IKEY_BINARY_TEST_DISABLE_FRAMEWORK = "binary_test_disable_framework" 47 IKEY_BINARY_TEST_STOP_NATIVE_SERVERS = "binary_test_stop_native_servers" 48 IKEY_NATIVE_SERVER_PROCESS_NAME = "native_server_process_name" 49 IKEY_GTEST_BATCH_MODE = "gtest_batch_mode" 50 51 # Internal keys, used internally, not exposed to user's config files. 52 IKEY_USER_PARAM = "user_params" 53 IKEY_TESTBED_NAME = "testbed_name" 54 IKEY_LOG_PATH = "log_path" 55 IKEY_ABI_NAME = "abi_name" 56 IKEY_ABI_BITNESS = "abi_bitness" 57 IKEY_RUN_32BIT_ON_64BIT_ABI = "run_32bit_on_64bit_abi" 58 IKEY_SKIP_ON_32BIT_ABI = "skip_on_32bit_abi" 59 IKEY_SKIP_ON_64BIT_ABI = "skip_on_64bit_abi" 60 IKEY_SKIP_IF_THERMAL_THROTTLING = "skip_if_thermal_throttling" 61 IKEY_DISABLE_CPU_FREQUENCY_SCALING = "disable_cpu_frequency_scaling" 62 63 IKEY_BUILD = "build" 64 IKEY_DATA_FILE_PATH = "data_file_path" 65 66 IKEY_BUG_REPORT_ON_FAILURE = "BUG_REPORT_ON_FAILURE" 67 IKEY_LOGCAT_ON_FAILURE = "LOGCAT_ON_FAILURE" 68 69 # sub fields of test_bed 70 IKEY_ANDROID_DEVICE = "AndroidDevice" 71 IKEY_PRODUCT_TYPE = "product_type" 72 IKEY_PRODUCT_VARIANT = "product_variant" 73 IKEY_BUILD_FLAVOR = "build_flavor" 74 IKEY_BUILD_ID = "build_id" 75 IKEY_BRANCH = "branch" 76 IKEY_BUILD_ALIAS = "build_alias" 77 IKEY_API_LEVEL = "api_level" 78 IKEY_SERIAL = "serial" 79 80 # Keys for web 81 IKEY_ENABLE_WEB = "enable_web" 82 83 # Keys for profiling 84 IKEY_ENABLE_PROFILING = "enable_profiling" 85 IKEY_BINARY_TEST_PROFILING_LIBRARY_PATH = "binary_test_profiling_library_path" 86 IKEY_PROFILING_TRACING_PATH = "profiling_trace_path" 87 IKEY_TRACE_FILE_TOOL_NAME = "trace_file_tool_name" 88 IKEY_SAVE_TRACE_FILE_REMOTE = "save_trace_file_remote" 89 90 # Keys for systrace (for hal tests) 91 IKEY_ENABLE_SYSTRACE = "enable_systrace" 92 IKEY_SYSTRACE_PROCESS_NAME = "systrace_process_name" 93 IKEY_SYSTRACE_REPORT_PATH = "systrace_report_path" 94 IKEY_SYSTRACE_REPORT_URL_PREFIX = "systrace_report_url_prefix" 95 IKEY_SYSTRACE_REPORT_USE_DATE_DIRECTORY = "systrace_report_path_use_date_directory" 96 IKEY_SYSTRACE_UPLAD_TO_DASHBOARD = "systrace_upload_to_dashboard" 97 98 # Keys for coverage 99 IKEY_ENABLE_COVERAGE = "enable_coverage" 100 IKEY_ENABLE_SANCOV = "enable_sancov" 101 IKEY_MODULES = "modules" 102 IKEY_SERVICE_JSON_PATH = "service_key_json_path" 103 IKEY_DASHBOARD_POST_COMMAND = "dashboard_post_command" 104 IKEY_OUTPUT_COVERAGE_REPORT = "output_coverage_report" 105 IKEY_GLOBAL_COVERAGE = "global_coverage" 106 IKEY_SANCOV_RESOURCES_PATH = "sancov_resources_path" 107 IKEY_GCOV_RESOURCES_PATH = "gcov_resources_path" 108 IKEY_COVERAGE_REPORT_PATH = "coverage_report_path" 109 IKEY_EXCLUDE_COVERAGE_PATH = "exclude_coverage_path" 110 111 # Keys for the HAL HIDL GTest type (see VtsMultiDeviceTest.java). 112 IKEY_PRECONDITION_HWBINDER_SERVICE = "precondition_hwbinder_service" 113 IKEY_PRECONDITION_FEATURE = "precondition_feature" 114 IKEY_PRECONDITION_FILE_PATH_PREFIX = "precondition_file_path_prefix" 115 IKEY_PRECONDITION_FIRST_API_LEVEL = "precondition_first_api_level" 116 IKEY_PRECONDITION_LSHAL = "precondition_lshal" 117 IKEY_PRECONDITION_SYSPROP = "precondition_sysprop" 118 IKEY_PRECONDITION_VINTF = "precondition_vintf" 119 120 # Keys for toggle passthrough mode 121 IKEY_PASSTHROUGH_MODE = "passthrough_mode" 122 123 # Keys for the HAL HIDL Replay Test type. 124 IKEY_HAL_HIDL_REPLAY_TEST_TRACE_PATHS = "hal_hidl_replay_test_trace_paths" 125 IKEY_HAL_HIDL_PACKAGE_NAME = "hal_hidl_package_name" 126 127 # Keys for special test cases 128 IKEY_FFMPEG_BINARY_PATH = "ffmpeg_binary_path" 129 130 # Keys for log uploading 131 IKEY_ENABLE_LOG_UPLOADING = "enable_log_uploading" 132 IKEY_LOG_UPLOADING_PATH = "log_uploading_path" 133 IKEY_LOG_UPLOADING_USE_DATE_DIRECTORY = "log_uploading_use_date_directory" 134 IKEY_LOG_UPLOADING_URL_PREFIX = "log_uploading_url_prefix" 135 136 # A list of keys whose values in configs should not be passed to test 137 # classes without unpacking first. 138 RESERVED_KEYS = (KEY_TESTBED, KEY_LOG_PATH, KEY_TEST_PATHS) 139 140 # Keys for special run modes 141 IKEY_COLLECT_TESTS_ONLY = "collect_tests_only" 142 RUN_AS_VTS_SELFTEST = "run_as_vts_self_test" 143 144 # Vts compliance test related keys 145 RUN_AS_COMPLIANCE_TEST = "run_as_compliance_test" 146 147 # Mobly test related keys 148 MOBLY_TEST_MODULE = "MOBLY_TEST_MODULE" 149