1*c2e18aaaSAndroid Build Coastguard Worker# Copyright 2018, The Android Open Source Project 2*c2e18aaaSAndroid Build Coastguard Worker# 3*c2e18aaaSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*c2e18aaaSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*c2e18aaaSAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*c2e18aaaSAndroid Build Coastguard Worker# 7*c2e18aaaSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*c2e18aaaSAndroid Build Coastguard Worker# 9*c2e18aaaSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*c2e18aaaSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*c2e18aaaSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*c2e18aaaSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*c2e18aaaSAndroid Build Coastguard Worker# limitations under the License. 14*c2e18aaaSAndroid Build Coastguard Worker 15*c2e18aaaSAndroid Build Coastguard Worker"""Atest custom enum class.""" 16*c2e18aaaSAndroid Build Coastguard Worker 17*c2e18aaaSAndroid Build Coastguard Workerfrom enum import Enum, IntEnum, unique 18*c2e18aaaSAndroid Build Coastguard Worker 19*c2e18aaaSAndroid Build Coastguard Worker 20*c2e18aaaSAndroid Build Coastguard Worker@unique 21*c2e18aaaSAndroid Build Coastguard Workerclass DetectType(IntEnum): 22*c2e18aaaSAndroid Build Coastguard Worker """An Enum class for local_detect_event.""" 23*c2e18aaaSAndroid Build Coastguard Worker 24*c2e18aaaSAndroid Build Coastguard Worker # Detect type for local_detect_event; next expansion: 60 25*c2e18aaaSAndroid Build Coastguard Worker BUG_DETECTED = 0 26*c2e18aaaSAndroid Build Coastguard Worker ACLOUD_CREATE = 1 27*c2e18aaaSAndroid Build Coastguard Worker FIND_BUILD = 2 28*c2e18aaaSAndroid Build Coastguard Worker NO_FLAKE = 3 # Deprecated. 29*c2e18aaaSAndroid Build Coastguard Worker HAS_FLAKE = 4 # Deprecated. 30*c2e18aaaSAndroid Build Coastguard Worker TF_TEARDOWN_LOGCAT = 5 31*c2e18aaaSAndroid Build Coastguard Worker REBUILD_MODULE_INFO = 6 32*c2e18aaaSAndroid Build Coastguard Worker NOT_REBUILD_MODULE_INFO = 7 33*c2e18aaaSAndroid Build Coastguard Worker ONLY_BUILD_MODULE_INFO = 8 34*c2e18aaaSAndroid Build Coastguard Worker FUZZY_SEARCH_TIME = 9 35*c2e18aaaSAndroid Build Coastguard Worker PERMISSION_INCONSISTENT = 10 36*c2e18aaaSAndroid Build Coastguard Worker SMART_REBUILD_MODULE_INFO = 11 37*c2e18aaaSAndroid Build Coastguard Worker CLEAN_BUILD = 12 38*c2e18aaaSAndroid Build Coastguard Worker TESTABLE_MODULES = 13 39*c2e18aaaSAndroid Build Coastguard Worker # Tradefed exit codes v.s. exit conditions 40*c2e18aaaSAndroid Build Coastguard Worker # 0: NO_ERROR 1: CONFIG_EXCEPTION 41*c2e18aaaSAndroid Build Coastguard Worker # 2: NO_BUILD 3: DEVICE_UNRESPONSIVE 42*c2e18aaaSAndroid Build Coastguard Worker # 4: DEVICE_UNAVAILABLE 5: FATAL_HOST_ERROR 43*c2e18aaaSAndroid Build Coastguard Worker # 6: THROWABLE_EXCEPTION 7: NO_DEVICE_ALLOCATED 44*c2e18aaaSAndroid Build Coastguard Worker # 8: WRONG_JAVA_VERSION 45*c2e18aaaSAndroid Build Coastguard Worker TF_EXIT_CODE = 14 46*c2e18aaaSAndroid Build Coastguard Worker ATEST_CONFIG = 15 47*c2e18aaaSAndroid Build Coastguard Worker TEST_WITH_ARGS = 16 48*c2e18aaaSAndroid Build Coastguard Worker TEST_NULL_ARGS = 17 49*c2e18aaaSAndroid Build Coastguard Worker MODULE_MERGE = 18 # Deprecated. Use MODULE_MERGE_MS instead. 50*c2e18aaaSAndroid Build Coastguard Worker MODULE_INFO_INIT_TIME = 19 # Deprecated. Use MODULE_INFO_INIT_MS instead. 51*c2e18aaaSAndroid Build Coastguard Worker MODULE_MERGE_MS = 20 52*c2e18aaaSAndroid Build Coastguard Worker NATIVE_TEST_NOT_FOUND = 21 53*c2e18aaaSAndroid Build Coastguard Worker BAZEL_WORKSPACE_GENERATE_TIME = 22 54*c2e18aaaSAndroid Build Coastguard Worker MODULE_LOAD_MS = 23 55*c2e18aaaSAndroid Build Coastguard Worker MODULE_INFO_INIT_MS = 24 56*c2e18aaaSAndroid Build Coastguard Worker INIT_AND_FIND_MS = 25 57*c2e18aaaSAndroid Build Coastguard Worker FOUND_INSTRUMENTATION_TEST = 26 58*c2e18aaaSAndroid Build Coastguard Worker FOUND_TARGET_ARTIFACTS = 27 59*c2e18aaaSAndroid Build Coastguard Worker FIND_TEST_IN_DEPS = 28 60*c2e18aaaSAndroid Build Coastguard Worker FULL_GENERATE_BAZEL_WORKSPACE_TIME = 29 61*c2e18aaaSAndroid Build Coastguard Worker # Below detect types are used for determine build conditions: 62*c2e18aaaSAndroid Build Coastguard Worker # 1. *_CLEAN_OUT: when out/ dir is empty or does not exist. 63*c2e18aaaSAndroid Build Coastguard Worker # 2. *_BPMK_CHANGE: when any Android.bp/Android.mk has changed. 64*c2e18aaaSAndroid Build Coastguard Worker # 3. *_ENV_CHANGE: when build-related variable has changed. 65*c2e18aaaSAndroid Build Coastguard Worker # 4. *_SRC_CHANGE: when source code has changed. 66*c2e18aaaSAndroid Build Coastguard Worker # 5. *_OTHER: none of above reasons that triggers renewal of ninja file. 67*c2e18aaaSAndroid Build Coastguard Worker # 6. *_INCREMENTAL: the build doesn't need to renew ninja file. 68*c2e18aaaSAndroid Build Coastguard Worker MODULE_INFO_CLEAN_OUT = 30 69*c2e18aaaSAndroid Build Coastguard Worker MODULE_INFO_BPMK_CHANGE = 31 70*c2e18aaaSAndroid Build Coastguard Worker MODULE_INFO_ENV_CHANGE = 32 71*c2e18aaaSAndroid Build Coastguard Worker MODULE_INFO_SRC_CHANGE = 33 72*c2e18aaaSAndroid Build Coastguard Worker MODULE_INFO_OTHER = 34 73*c2e18aaaSAndroid Build Coastguard Worker MODULE_INFO_INCREMENTAL = 35 74*c2e18aaaSAndroid Build Coastguard Worker BUILD_CLEAN_OUT = 36 75*c2e18aaaSAndroid Build Coastguard Worker BUILD_BPMK_CHANGE = 37 76*c2e18aaaSAndroid Build Coastguard Worker BUILD_ENV_CHANGE = 38 77*c2e18aaaSAndroid Build Coastguard Worker BUILD_SRC_CHANGE = 39 78*c2e18aaaSAndroid Build Coastguard Worker BUILD_OTHER = 40 79*c2e18aaaSAndroid Build Coastguard Worker BUILD_INCREMENTAL = 41 80*c2e18aaaSAndroid Build Coastguard Worker BUILD_TIME_PER_TARGET = 42 81*c2e18aaaSAndroid Build Coastguard Worker MODULE_INFO_GEN_NINJA = 43 82*c2e18aaaSAndroid Build Coastguard Worker BUILD_GEN_NINJA = 44 83*c2e18aaaSAndroid Build Coastguard Worker # To indicate if the invocation is using test-mapping, send non-zero value 84*c2e18aaaSAndroid Build Coastguard Worker # if the invocation is test-mapping mode. 85*c2e18aaaSAndroid Build Coastguard Worker IS_TEST_MAPPING = 45 86*c2e18aaaSAndroid Build Coastguard Worker # The RBE_STATE indicates the combined state of the RBE and customized out. 87*c2e18aaaSAndroid Build Coastguard Worker RBE_STATE = 46 88*c2e18aaaSAndroid Build Coastguard Worker # Prompt the user to select multiple tests. 89*c2e18aaaSAndroid Build Coastguard Worker INTERACTIVE_SELECTION = 47 90*c2e18aaaSAndroid Build Coastguard Worker # Upload results to storage. 91*c2e18aaaSAndroid Build Coastguard Worker # - UPLOAD_FLOW_MS is the total of upload preparation time, includes: 92*c2e18aaaSAndroid Build Coastguard Worker # -- FETCH_CRED_MS: fetch credential. 93*c2e18aaaSAndroid Build Coastguard Worker # -- UPLOAD_PREPARE_MS: insert a new record to server. 94*c2e18aaaSAndroid Build Coastguard Worker UPLOAD_FLOW_MS = 48 95*c2e18aaaSAndroid Build Coastguard Worker FETCH_CRED_MS = 49 96*c2e18aaaSAndroid Build Coastguard Worker UPLOAD_PREPARE_MS = 50 97*c2e18aaaSAndroid Build Coastguard Worker # Time of join the index. 98*c2e18aaaSAndroid Build Coastguard Worker IDX_JOIN_MS = 51 # Deprecated. Use INDEX_TARGETS_MS instead. 99*c2e18aaaSAndroid Build Coastguard Worker IS_MINIMAL_BUILD = 52 100*c2e18aaaSAndroid Build Coastguard Worker # Elapsed time of the Tradefed runner. 101*c2e18aaaSAndroid Build Coastguard Worker TF_PREPARATION_MS = 53 102*c2e18aaaSAndroid Build Coastguard Worker TF_TEST_MS = 54 103*c2e18aaaSAndroid Build Coastguard Worker TF_TEARDOWN_MS = 55 104*c2e18aaaSAndroid Build Coastguard Worker TF_TOTAL_RUN_MS = 56 105*c2e18aaaSAndroid Build Coastguard Worker ROBOLEAF_NON_MODULE_FINDER = 57 # Deprecated. 106*c2e18aaaSAndroid Build Coastguard Worker ROBOLEAF_UNSUPPORTED_FLAG = 58 # Deprecated. 107*c2e18aaaSAndroid Build Coastguard Worker INDEX_TARGETS_MS = 59 108*c2e18aaaSAndroid Build Coastguard Worker # An int representing the negotiated speed (in Mbits per seconds) the 109*c2e18aaaSAndroid Build Coastguard Worker # device is operating at. 110*c2e18aaaSAndroid Build Coastguard Worker USB_NEGOTIATED_SPEED = 60 111*c2e18aaaSAndroid Build Coastguard Worker # An int representing the maximum speed (in Mbits per seconds) of which the 112*c2e18aaaSAndroid Build Coastguard Worker # device is capable. 113*c2e18aaaSAndroid Build Coastguard Worker USB_MAX_SPEED = 61 114*c2e18aaaSAndroid Build Coastguard Worker # Time spent on waiting indexing to complete. 115*c2e18aaaSAndroid Build Coastguard Worker WAIT_FOR_INDEXING_MS = 62 116*c2e18aaaSAndroid Build Coastguard Worker # Whether procate db is locked. Value 1 means True, otherwise is False. 117*c2e18aaaSAndroid Build Coastguard Worker IS_PLOCATEDB_LOCKED = 63 118*c2e18aaaSAndroid Build Coastguard Worker # Device update duration 119*c2e18aaaSAndroid Build Coastguard Worker DEVICE_UPDATE_MS = 64 120*c2e18aaaSAndroid Build Coastguard Worker # The ID of the feature that is controlled by rollout control. Positive value 121*c2e18aaaSAndroid Build Coastguard Worker # means the feature is enabled, negative value means disabled. 122*c2e18aaaSAndroid Build Coastguard Worker ROLLOUT_CONTROLLED_FEATURE_ID = 65 123*c2e18aaaSAndroid Build Coastguard Worker ROLLOUT_CONTROLLED_FEATURE_ID_OVERRIDE = 66 124*c2e18aaaSAndroid Build Coastguard Worker 125*c2e18aaaSAndroid Build Coastguard Worker 126*c2e18aaaSAndroid Build Coastguard Worker@unique 127*c2e18aaaSAndroid Build Coastguard Workerclass ExitCode(IntEnum): 128*c2e18aaaSAndroid Build Coastguard Worker """An Enum class for sys.exit()""" 129*c2e18aaaSAndroid Build Coastguard Worker 130*c2e18aaaSAndroid Build Coastguard Worker SUCCESS = 0 131*c2e18aaaSAndroid Build Coastguard Worker ENV_NOT_SETUP = 1 132*c2e18aaaSAndroid Build Coastguard Worker BUILD_FAILURE = 2 133*c2e18aaaSAndroid Build Coastguard Worker ERROR = 3 134*c2e18aaaSAndroid Build Coastguard Worker TEST_NOT_FOUND = 4 135*c2e18aaaSAndroid Build Coastguard Worker TEST_FAILURE = 5 136*c2e18aaaSAndroid Build Coastguard Worker VERIFY_FAILURE = 6 137*c2e18aaaSAndroid Build Coastguard Worker OUTSIDE_ROOT = 7 138*c2e18aaaSAndroid Build Coastguard Worker AVD_CREATE_FAILURE = 8 139*c2e18aaaSAndroid Build Coastguard Worker AVD_INVALID_ARGS = 9 140*c2e18aaaSAndroid Build Coastguard Worker EXIT_BEFORE_MAIN = 10 141*c2e18aaaSAndroid Build Coastguard Worker DEVICE_NOT_FOUND = 11 142*c2e18aaaSAndroid Build Coastguard Worker MIXED_TYPE_FILTER = 12 143*c2e18aaaSAndroid Build Coastguard Worker INPUT_TEST_REFERENCE_ERROR = 13 144*c2e18aaaSAndroid Build Coastguard Worker CONFIG_INVALID_FORMAT = 14 145*c2e18aaaSAndroid Build Coastguard Worker INVALID_SMART_TESTING_PATH = 15 # deprecated. 146*c2e18aaaSAndroid Build Coastguard Worker INVALID_EXEC_MODE = 16 147*c2e18aaaSAndroid Build Coastguard Worker INVALID_OBSOLETE_BASELINE_ARGS = 17 # deprecated. 148*c2e18aaaSAndroid Build Coastguard Worker INVALID_REGRESSION_ARGS = 18 # deprecated. 149*c2e18aaaSAndroid Build Coastguard Worker INVALID_TM_ARGS = 19 150*c2e18aaaSAndroid Build Coastguard Worker INVALID_TM_FORMAT = 20 151*c2e18aaaSAndroid Build Coastguard Worker INSUFFICIENT_DEVICES = 21 152*c2e18aaaSAndroid Build Coastguard Worker # The code > 100 are reserved for collecting data only, actually the run 153*c2e18aaaSAndroid Build Coastguard Worker # doesn't finish at the point. 154*c2e18aaaSAndroid Build Coastguard Worker COLLECT_ONLY_FILE_NOT_FOUND = 101 155*c2e18aaaSAndroid Build Coastguard Worker 156*c2e18aaaSAndroid Build Coastguard Worker 157*c2e18aaaSAndroid Build Coastguard Worker@unique 158*c2e18aaaSAndroid Build Coastguard Workerclass FilterType(Enum): 159*c2e18aaaSAndroid Build Coastguard Worker """An Enum class for filter types""" 160*c2e18aaaSAndroid Build Coastguard Worker 161*c2e18aaaSAndroid Build Coastguard Worker WILDCARD_FILTER = 'wildcard class_method' 162*c2e18aaaSAndroid Build Coastguard Worker REGULAR_FILTER = 'regular class_method' 163