Home | History | Annotate | Download | only in host
      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