xref: /aosp_15_r20/tools/asuite/atest/atest_enum.py (revision c2e18aaa1096c836b086f94603d04f4eb9cf37f5)
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