1"""Copyright (C) 2022 The Android Open Source Project
2
3Licensed under the Apache License, Version 2.0 (the "License");
4you may not use this file except in compliance with the License.
5You may obtain a copy of the License at
6
7     http://www.apache.org/licenses/LICENSE-2.0
8
9Unless required by applicable law or agreed to in writing, software
10distributed under the License is distributed on an "AS IS" BASIS,
11WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12See the License for the specific language governing permissions and
13limitations under the License.
14"""
15
16load("@bazel_skylib//lib:selects.bzl", "selects")
17load("@bazel_skylib//rules:common_settings.bzl", "bool_setting")
18load(":cc_aconfig_library_test.bzl", "cc_aconfig_library_test_suite")
19load(":cc_aidl_library_test.bzl", "cc_aidl_library_test_suite")
20load(":cc_binary_test.bzl", "cc_binary_test_suite")
21load(":cc_hidl_library_test.bzl", "cc_hidl_library_test_suite")
22load(":cc_library_common_test.bzl", "cc_library_common_test_suites")
23load(":cc_library_headers_test.bzl", "cc_library_headers_test_suite")
24load(":cc_library_shared_test.bzl", "cc_library_shared_test_suite")
25load(":cc_library_static_test.bzl", "cc_library_static_test_suite")
26load(":cc_object_test.bzl", "cc_object_test_suite")
27load(":cc_prebuilt_binary_test.bzl", "cc_prebuilt_binary_test_suite")
28load(":cc_prebuilt_library_shared_test.bzl", "cc_prebuilt_library_shared_test_suite")
29load(":cc_prebuilt_library_static_test.bzl", "cc_prebuilt_library_static_test_suite")
30load(":cc_proto_test.bzl", "cc_proto_test_suite")
31load(":cc_stub_library_test.bzl", "cc_stub_library_test_suite")
32load(":cc_sysprop_library_test.bzl", "cc_gen_sysprop_test_suite")
33load(":cc_test_test.bzl", "cc_test_test_suite")
34load(":cc_xsd_config_library_test.bzl", "cc_xsd_config_library_test_suite")
35load(":cc_yacc_library_test.bzl", "cc_yacc_static_library_test_suite")
36load(":cfi_transition_test.bzl", "cfi_transition_test_suite")
37load(":clang_tidy_test.bzl", "clang_tidy_test_suite")
38load(":flex_test.bzl", "flex_test_suite")
39load(":lto_transitions_test.bzl", "lto_transition_test_suite")
40load(":memtag_heap_transitions_test.bzl", "memtag_heap_transitions_test_suite")
41load(":ndk_headers_test.bzl", "ndk_headers_test_suite")
42load(":rscript_to_cpp_test.bzl", "rscript_to_cpp_test_suite")
43load(":sanitizer_blocklist_test.bzl", "sanitizer_blocklist_test_suite")
44load(":stl_test.bzl", "stl_test_suite")
45load(":yasm_test.bzl", "yasm_test_suite")
46
47config_setting(
48    name = "coverage_lib_flag",
49    values = {"collect_code_coverage": "True"},
50)
51
52bool_setting(
53    name = "cfi_assembly",
54    build_setting_default = False,
55    visibility = ["//visibility:public"],
56)
57
58config_setting(
59    name = "coverage_cfi_enabled",
60    flag_values = {":cfi_assembly": "True"},
61)
62
63config_setting(
64    name = "coverage_cfi_disabled",
65    flag_values = {":cfi_assembly": "False"},
66)
67
68# TODO: b/294868620 - This can be removed when completing the bug
69bool_setting(
70    name = "sanitizers_enabled_setting",
71    build_setting_default = False,
72    visibility = ["//visibility:public"],
73)
74
75# TODO: b/294868620 - This can be removed when completing the bug
76config_setting(
77    name = "sanitizers_enabled",
78    flag_values = {":sanitizers_enabled_setting": "True"},
79)
80
81selects.config_setting_group(
82    name = "android_coverage_lib_flag_cfi",
83    match_all = [
84        ":coverage_cfi_enabled",
85        ":coverage_lib_flag",
86        "//build/bazel_common_rules/platforms/os:android_config_setting",
87    ],
88)
89
90selects.config_setting_group(
91    name = "android_coverage_lib_flag",
92    match_all = [
93        ":coverage_cfi_disabled",
94        ":coverage_lib_flag",
95        "//build/bazel_common_rules/platforms/os:android_config_setting",
96    ],
97)
98
99platform(
100    name = "windows_for_testing",
101    constraint_values = ["@//build/bazel_common_rules/platforms/os:windows"],
102)
103
104platform(
105    name = "darwin_for_testing",
106    constraint_values = ["@//build/bazel_common_rules/platforms/os:darwin"],
107)
108
109cc_aconfig_library_test_suite(name = "cc_aconfig_library_tests")
110
111cc_aidl_library_test_suite(name = "cc_aidl_library_tests")
112
113cc_binary_test_suite(name = "cc_binary_tests")
114
115cc_test_test_suite(name = "cc_test_tests")
116
117cc_hidl_library_test_suite(name = "cc_hidl_library_tests")
118
119cc_library_common_test_suites(name = "cc_library_common_tests")
120
121cc_library_headers_test_suite(name = "cc_library_headers_tests")
122
123cc_library_shared_test_suite(name = "cc_library_shared_tests")
124
125cc_library_static_test_suite(name = "cc_library_static_tests")
126
127cc_gen_sysprop_test_suite(name = "cc_gen_sysprop_tests")
128
129cc_object_test_suite(name = "cc_object_tests")
130
131cc_prebuilt_binary_test_suite(name = "cc_prebuilt_binary_tests")
132
133cc_prebuilt_library_shared_test_suite(name = "cc_prebuilt_library_shared_tests")
134
135cc_prebuilt_library_static_test_suite(name = "cc_prebuilt_library_static_tests")
136
137cc_proto_test_suite(name = "cc_proto_tests")
138
139cc_stub_library_test_suite(name = "cc_stub_library_tests")
140
141cc_xsd_config_library_test_suite(name = "cc_xsd_config_library_tests")
142
143cc_yacc_static_library_test_suite(name = "cc_yacc_static_library_tests")
144
145cfi_transition_test_suite(name = "cfi_transition_tests")
146
147clang_tidy_test_suite(name = "clang_tidy_tests")
148
149flex_test_suite(name = "flex_tests")
150
151lto_transition_test_suite(name = "lto_transition_tests")
152
153memtag_heap_transitions_test_suite(name = "memtag_heap_transitions_test")
154
155sanitizer_blocklist_test_suite(name = "sanitizer_blocklist_tests")
156
157stl_test_suite(name = "stl_tests")
158
159yasm_test_suite(name = "yasm_tests")
160
161rscript_to_cpp_test_suite(name = "rscript_to_cpp_tests")
162
163ndk_headers_test_suite(name = "ndk_headers_tests")
164