• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2018, The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15"""
16Atest custom enum class.
17"""
18
19from enum import IntEnum, unique, Enum
20
21@unique
22class DetectType(IntEnum):
23    """An Enum class for local_detect_event."""
24    # Detect type for local_detect_event; next expansion: 43
25    BUG_DETECTED = 0
26    ACLOUD_CREATE = 1
27    FIND_BUILD = 2
28    NO_FLAKE = 3
29    HAS_FLAKE = 4
30    TF_TEARDOWN_LOGCAT = 5
31    REBUILD_MODULE_INFO = 6
32    NOT_REBUILD_MODULE_INFO = 7
33    ONLY_BUILD_MODULE_INFO = 8
34    FUZZY_SEARCH_TIME = 9
35    PERMISSION_INCONSISTENT = 10
36    SMART_REBUILD_MODULE_INFO = 11
37    CLEAN_BUILD = 12
38    TESTABLE_MODULES = 13
39    # Tradefed exit codes v.s. exit conditions
40    # 0: NO_ERROR             1: CONFIG_EXCEPTION
41    # 2: NO_BUILD             3: DEVICE_UNRESPONSIVE
42    # 4: DEVICE_UNAVAILABLE   5: FATAL_HOST_ERROR
43    # 6: THROWABLE_EXCEPTION  7: NO_DEVICE_ALLOCATED
44    # 8: WRONG_JAVA_VERSION
45    TF_EXIT_CODE = 14
46    ATEST_CONFIG = 15
47    TEST_WITH_ARGS = 16
48    TEST_NULL_ARGS = 17
49    MODULE_MERGE = 18          # Deprecated. Use MODULE_MERGE_MS instead.
50    MODULE_INFO_INIT_TIME = 19 # Deprecated. Use MODULE_INFO_INIT_MS instead.
51    MODULE_MERGE_MS = 20
52    NATIVE_TEST_NOT_FOUND = 21
53    BAZEL_WORKSPACE_GENERATE_TIME = 22
54    MODULE_LOAD_MS = 23
55    MODULE_INFO_INIT_MS = 24
56    INIT_AND_FIND_MS = 25
57    FOUND_INSTRUMENTATION_TEST = 26
58    FOUND_TARGET_ARTIFACTS = 27
59    FIND_TEST_IN_DEPS=28
60    FULL_GENERATE_BAZEL_WORKSPACE_TIME = 29
61    # Below detect types are used for determine build conditions:
62    # 1. *_CLEAN_OUT: when out/ dir is empty or does not exist.
63    # 2. *_BPMK_CHANGE: when any Android.bp/Android.mk has changed.
64    # 3. *_ENV_CHANGE: when build-related variable has changed.
65    # 4. *_SRC_CHANGE: when source code has changed.
66    # 5. *_OTHER: none of above reasons that triggers renewal of ninja file.
67    # 6. *_INCREMENTAL: the build doesn't need to renew ninja file.
68    MODULE_INFO_CLEAN_OUT = 30
69    MODULE_INFO_BPMK_CHANGE = 31
70    MODULE_INFO_ENV_CHANGE = 32
71    MODULE_INFO_SRC_CHANGE = 33
72    MODULE_INFO_OTHER = 34
73    MODULE_INFO_INCREMENTAL = 35
74    BUILD_CLEAN_OUT = 36
75    BUILD_BPMK_CHANGE = 37
76    BUILD_ENV_CHANGE = 38
77    BUILD_SRC_CHANGE = 39
78    BUILD_OTHER = 40
79    BUILD_INCREMENTAL = 41
80    BUILD_TIME_PER_TARGET = 42
81    MODULE_INFO_GEN_NINJA = 43
82    BUILD_GEN_NINJA = 44
83
84@unique
85class ExitCode(IntEnum):
86    """An Enum class for sys.exit()"""
87    SUCCESS = 0
88    ENV_NOT_SETUP = 1
89    BUILD_FAILURE = 2
90    ERROR = 3
91    TEST_NOT_FOUND = 4
92    TEST_FAILURE = 5
93    VERIFY_FAILURE = 6
94    OUTSIDE_ROOT = 7
95    AVD_CREATE_FAILURE = 8
96    AVD_INVALID_ARGS = 9
97    EXIT_BEFORE_MAIN = 10
98    DEVICE_NOT_FOUND = 11
99    MIXED_TYPE_FILTER = 12
100    INPUT_TEST_REFERENCE_ERROR = 13
101    CONFIG_INVALID_FORMAT = 14
102    INVALID_SMART_TESTING_PATH = 15
103    # The code > 100 are reserved for collecting data only, actually the run
104    # doesn't finish at the point.
105    COLLECT_ONLY_FILE_NOT_FOUND = 101
106
107@unique
108class FilterType(Enum):
109    """An Enum class for filter types"""
110    WILDCARD_FILTER = 'wildcard class_method'
111    REGULAR_FILTER = 'regular class_method'
112