| # 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. |
| |
| """Atest custom enum class.""" |
| |
| from enum import Enum, IntEnum, unique |
| |
| |
| @unique |
| class DetectType(IntEnum): |
| """An Enum class for local_detect_event.""" |
| |
| # Detect type for local_detect_event; next expansion: 60 |
| BUG_DETECTED = 0 |
| ACLOUD_CREATE = 1 |
| FIND_BUILD = 2 |
| NO_FLAKE = 3 # Deprecated. |
| HAS_FLAKE = 4 # Deprecated. |
| TF_TEARDOWN_LOGCAT = 5 |
| REBUILD_MODULE_INFO = 6 |
| NOT_REBUILD_MODULE_INFO = 7 |
| ONLY_BUILD_MODULE_INFO = 8 |
| FUZZY_SEARCH_TIME = 9 |
| PERMISSION_INCONSISTENT = 10 |
| SMART_REBUILD_MODULE_INFO = 11 |
| CLEAN_BUILD = 12 |
| TESTABLE_MODULES = 13 |
| # Tradefed exit codes v.s. exit conditions |
| # 0: NO_ERROR 1: CONFIG_EXCEPTION |
| # 2: NO_BUILD 3: DEVICE_UNRESPONSIVE |
| # 4: DEVICE_UNAVAILABLE 5: FATAL_HOST_ERROR |
| # 6: THROWABLE_EXCEPTION 7: NO_DEVICE_ALLOCATED |
| # 8: WRONG_JAVA_VERSION |
| TF_EXIT_CODE = 14 |
| ATEST_CONFIG = 15 |
| TEST_WITH_ARGS = 16 |
| TEST_NULL_ARGS = 17 |
| MODULE_MERGE = 18 # Deprecated. Use MODULE_MERGE_MS instead. |
| MODULE_INFO_INIT_TIME = 19 # Deprecated. Use MODULE_INFO_INIT_MS instead. |
| MODULE_MERGE_MS = 20 |
| NATIVE_TEST_NOT_FOUND = 21 |
| BAZEL_WORKSPACE_GENERATE_TIME = 22 |
| MODULE_LOAD_MS = 23 |
| MODULE_INFO_INIT_MS = 24 |
| INIT_AND_FIND_MS = 25 |
| FOUND_INSTRUMENTATION_TEST = 26 |
| FOUND_TARGET_ARTIFACTS = 27 |
| FIND_TEST_IN_DEPS = 28 |
| FULL_GENERATE_BAZEL_WORKSPACE_TIME = 29 |
| # Below detect types are used for determine build conditions: |
| # 1. *_CLEAN_OUT: when out/ dir is empty or does not exist. |
| # 2. *_BPMK_CHANGE: when any Android.bp/Android.mk has changed. |
| # 3. *_ENV_CHANGE: when build-related variable has changed. |
| # 4. *_SRC_CHANGE: when source code has changed. |
| # 5. *_OTHER: none of above reasons that triggers renewal of ninja file. |
| # 6. *_INCREMENTAL: the build doesn't need to renew ninja file. |
| MODULE_INFO_CLEAN_OUT = 30 |
| MODULE_INFO_BPMK_CHANGE = 31 |
| MODULE_INFO_ENV_CHANGE = 32 |
| MODULE_INFO_SRC_CHANGE = 33 |
| MODULE_INFO_OTHER = 34 |
| MODULE_INFO_INCREMENTAL = 35 |
| BUILD_CLEAN_OUT = 36 |
| BUILD_BPMK_CHANGE = 37 |
| BUILD_ENV_CHANGE = 38 |
| BUILD_SRC_CHANGE = 39 |
| BUILD_OTHER = 40 |
| BUILD_INCREMENTAL = 41 |
| BUILD_TIME_PER_TARGET = 42 |
| MODULE_INFO_GEN_NINJA = 43 |
| BUILD_GEN_NINJA = 44 |
| # To indicate if the invocation is using test-mapping, send non-zero value |
| # if the invocation is test-mapping mode. |
| IS_TEST_MAPPING = 45 |
| # The RBE_STATE indicates the combined state of the RBE and customized out. |
| RBE_STATE = 46 |
| # Prompt the user to select multiple tests. |
| INTERACTIVE_SELECTION = 47 |
| # Upload results to storage. |
| # - UPLOAD_FLOW_MS is the total of upload preparation time, includes: |
| # -- FETCH_CRED_MS: fetch credential. |
| # -- UPLOAD_PREPARE_MS: insert a new record to server. |
| UPLOAD_FLOW_MS = 48 |
| FETCH_CRED_MS = 49 |
| UPLOAD_PREPARE_MS = 50 |
| # Time of join the index. |
| IDX_JOIN_MS = 51 # Deprecated. Use INDEX_TARGETS_MS instead. |
| IS_MINIMAL_BUILD = 52 |
| # Elapsed time of the Tradefed runner. |
| TF_PREPARATION_MS = 53 |
| TF_TEST_MS = 54 |
| TF_TEARDOWN_MS = 55 |
| TF_TOTAL_RUN_MS = 56 |
| ROBOLEAF_NON_MODULE_FINDER = 57 # Deprecated. |
| ROBOLEAF_UNSUPPORTED_FLAG = 58 # Deprecated. |
| INDEX_TARGETS_MS = 59 |
| # An int representing the negotiated speed (in Mbits per seconds) the |
| # device is operating at. |
| USB_NEGOTIATED_SPEED = 60 |
| # An int representing the maximum speed (in Mbits per seconds) of which the |
| # device is capable. |
| USB_MAX_SPEED = 61 |
| # Time spent on waiting indexing to complete. |
| WAIT_FOR_INDEXING_MS = 62 |
| # Whether procate db is locked. Value 1 means True, otherwise is False. |
| IS_PLOCATEDB_LOCKED = 63 |
| # Device update duration |
| DEVICE_UPDATE_MS = 64 |
| # The ID of the feature that is controlled by rollout control. Positive value |
| # means the feature is enabled, negative value means disabled. |
| ROLLOUT_CONTROLLED_FEATURE_ID = 65 |
| ROLLOUT_CONTROLLED_FEATURE_ID_OVERRIDE = 66 |
| |
| |
| @unique |
| class ExitCode(IntEnum): |
| """An Enum class for sys.exit()""" |
| |
| SUCCESS = 0 |
| ENV_NOT_SETUP = 1 |
| BUILD_FAILURE = 2 |
| ERROR = 3 |
| TEST_NOT_FOUND = 4 |
| TEST_FAILURE = 5 |
| VERIFY_FAILURE = 6 |
| OUTSIDE_ROOT = 7 |
| AVD_CREATE_FAILURE = 8 |
| AVD_INVALID_ARGS = 9 |
| EXIT_BEFORE_MAIN = 10 |
| DEVICE_NOT_FOUND = 11 |
| MIXED_TYPE_FILTER = 12 |
| INPUT_TEST_REFERENCE_ERROR = 13 |
| CONFIG_INVALID_FORMAT = 14 |
| INVALID_SMART_TESTING_PATH = 15 # deprecated. |
| INVALID_EXEC_MODE = 16 |
| INVALID_OBSOLETE_BASELINE_ARGS = 17 # deprecated. |
| INVALID_REGRESSION_ARGS = 18 # deprecated. |
| INVALID_TM_ARGS = 19 |
| INVALID_TM_FORMAT = 20 |
| INSUFFICIENT_DEVICES = 21 |
| # The code > 100 are reserved for collecting data only, actually the run |
| # doesn't finish at the point. |
| COLLECT_ONLY_FILE_NOT_FOUND = 101 |
| |
| |
| @unique |
| class FilterType(Enum): |
| """An Enum class for filter types""" |
| |
| WILDCARD_FILTER = 'wildcard class_method' |
| REGULAR_FILTER = 'regular class_method' |