blob: d44fdf2539b1e3444d02e60456ae117fe2438cfd [file] [log] [blame]
# 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'