xref: /aosp_15_r20/libnativehelper/tests/Android.bp (revision 0797b24ee566c78eb48500180cb4bf71f81c8aab)
1*0797b24eSAndroid Build Coastguard Worker// Build the unit tests.
2*0797b24eSAndroid Build Coastguard Worker
3*0797b24eSAndroid Build Coastguard Workerpackage {
4*0797b24eSAndroid Build Coastguard Worker    default_team: "trendy_team_art_mainline",
5*0797b24eSAndroid Build Coastguard Worker    // http://go/android-license-faq
6*0797b24eSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
7*0797b24eSAndroid Build Coastguard Worker    // the below license kinds from "libnativehelper_license":
8*0797b24eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
9*0797b24eSAndroid Build Coastguard Worker    default_applicable_licenses: ["libnativehelper_license"],
10*0797b24eSAndroid Build Coastguard Worker}
11*0797b24eSAndroid Build Coastguard Worker
12*0797b24eSAndroid Build Coastguard Workercc_defaults {
13*0797b24eSAndroid Build Coastguard Worker    name: "libnativehelper_common_test_defaults",
14*0797b24eSAndroid Build Coastguard Worker    cflags: [
15*0797b24eSAndroid Build Coastguard Worker        // Base set of cflags used by all things ART.
16*0797b24eSAndroid Build Coastguard Worker        "-fno-rtti",
17*0797b24eSAndroid Build Coastguard Worker        "-ggdb3",
18*0797b24eSAndroid Build Coastguard Worker        "-Wall",
19*0797b24eSAndroid Build Coastguard Worker        "-Werror",
20*0797b24eSAndroid Build Coastguard Worker        "-Wextra",
21*0797b24eSAndroid Build Coastguard Worker        "-Wstrict-aliasing",
22*0797b24eSAndroid Build Coastguard Worker        "-fstrict-aliasing",
23*0797b24eSAndroid Build Coastguard Worker        "-Wunreachable-code",
24*0797b24eSAndroid Build Coastguard Worker        "-Wredundant-decls",
25*0797b24eSAndroid Build Coastguard Worker        "-Wshadow",
26*0797b24eSAndroid Build Coastguard Worker        "-Wunused",
27*0797b24eSAndroid Build Coastguard Worker        "-fvisibility=protected",
28*0797b24eSAndroid Build Coastguard Worker
29*0797b24eSAndroid Build Coastguard Worker        // Warn about thread safety violations with clang.
30*0797b24eSAndroid Build Coastguard Worker        "-Wthread-safety",
31*0797b24eSAndroid Build Coastguard Worker        "-Wthread-safety-negative",
32*0797b24eSAndroid Build Coastguard Worker
33*0797b24eSAndroid Build Coastguard Worker        // Warn if switch fallthroughs aren't annotated.
34*0797b24eSAndroid Build Coastguard Worker        "-Wimplicit-fallthrough",
35*0797b24eSAndroid Build Coastguard Worker
36*0797b24eSAndroid Build Coastguard Worker        // Enable float equality warnings.
37*0797b24eSAndroid Build Coastguard Worker        "-Wfloat-equal",
38*0797b24eSAndroid Build Coastguard Worker
39*0797b24eSAndroid Build Coastguard Worker        // Enable warning of converting ints to void*.
40*0797b24eSAndroid Build Coastguard Worker        "-Wint-to-void-pointer-cast",
41*0797b24eSAndroid Build Coastguard Worker
42*0797b24eSAndroid Build Coastguard Worker        // Enable warning for deprecated language features.
43*0797b24eSAndroid Build Coastguard Worker        "-Wdeprecated",
44*0797b24eSAndroid Build Coastguard Worker
45*0797b24eSAndroid Build Coastguard Worker        // Disable warning from external/libcxxabi/include/cxxabi.h
46*0797b24eSAndroid Build Coastguard Worker        "-Wno-deprecated-dynamic-exception-spec",
47*0797b24eSAndroid Build Coastguard Worker
48*0797b24eSAndroid Build Coastguard Worker        // Enable warning for unreachable break & return.
49*0797b24eSAndroid Build Coastguard Worker        "-Wunreachable-code-break",
50*0797b24eSAndroid Build Coastguard Worker        "-Wunreachable-code-return",
51*0797b24eSAndroid Build Coastguard Worker
52*0797b24eSAndroid Build Coastguard Worker        // Enable thread annotations for std::mutex, etc.
53*0797b24eSAndroid Build Coastguard Worker        "-D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS",
54*0797b24eSAndroid Build Coastguard Worker    ],
55*0797b24eSAndroid Build Coastguard Worker    tidy: true,
56*0797b24eSAndroid Build Coastguard Worker}
57*0797b24eSAndroid Build Coastguard Worker
58*0797b24eSAndroid Build Coastguard Workercc_defaults {
59*0797b24eSAndroid Build Coastguard Worker    name: "libnativehelper_unit_test_defaults",
60*0797b24eSAndroid Build Coastguard Worker    defaults: ["libnativehelper_common_test_defaults"],
61*0797b24eSAndroid Build Coastguard Worker    host_supported: true,
62*0797b24eSAndroid Build Coastguard Worker    test_options: {
63*0797b24eSAndroid Build Coastguard Worker        unit_test: true,
64*0797b24eSAndroid Build Coastguard Worker    },
65*0797b24eSAndroid Build Coastguard Worker}
66*0797b24eSAndroid Build Coastguard Worker
67*0797b24eSAndroid Build Coastguard Workercc_test {
68*0797b24eSAndroid Build Coastguard Worker    name: "libnativehelper_tests",
69*0797b24eSAndroid Build Coastguard Worker    defaults: ["libnativehelper_unit_test_defaults"],
70*0797b24eSAndroid Build Coastguard Worker    test_suites: ["general-tests"],
71*0797b24eSAndroid Build Coastguard Worker    srcs: [
72*0797b24eSAndroid Build Coastguard Worker        "scoped_local_frame_test.cpp",
73*0797b24eSAndroid Build Coastguard Worker        "scoped_local_ref_test.cpp",
74*0797b24eSAndroid Build Coastguard Worker        "scoped_primitive_array_test.cpp",
75*0797b24eSAndroid Build Coastguard Worker        "libnativehelper_api_test.c",
76*0797b24eSAndroid Build Coastguard Worker        "JniSafeRegisterNativeMethods_test.cpp",
77*0797b24eSAndroid Build Coastguard Worker    ],
78*0797b24eSAndroid Build Coastguard Worker    shared_libs: ["libnativehelper"],
79*0797b24eSAndroid Build Coastguard Worker}
80*0797b24eSAndroid Build Coastguard Worker
81*0797b24eSAndroid Build Coastguard Workercc_test {
82*0797b24eSAndroid Build Coastguard Worker    name: "libnativehelper_lazy_tests",
83*0797b24eSAndroid Build Coastguard Worker    defaults: ["libnativehelper_unit_test_defaults"],
84*0797b24eSAndroid Build Coastguard Worker    test_suites: ["general-tests"],
85*0797b24eSAndroid Build Coastguard Worker    srcs: ["libnativehelper_lazy_test.cpp"],
86*0797b24eSAndroid Build Coastguard Worker    shared_libs: ["liblog"],
87*0797b24eSAndroid Build Coastguard Worker    static_libs: ["libnativehelper_lazy"],
88*0797b24eSAndroid Build Coastguard Worker}
89*0797b24eSAndroid Build Coastguard Worker
90*0797b24eSAndroid Build Coastguard Worker// Tests for internal functions that aren't present in the APEX stub API. Use
91*0797b24eSAndroid Build Coastguard Worker// `bootstrap:true` to bypass the stub library. This test won't link when
92*0797b24eSAndroid Build Coastguard Worker// prebuilts are preferred, because we cannot link against the source variant
93*0797b24eSAndroid Build Coastguard Worker// then.
94*0797b24eSAndroid Build Coastguard Worker// TODO(b/180107266): Enable in TEST_MAPPING. Also use a better way than
95*0797b24eSAndroid Build Coastguard Worker// `bootstrap:true` - `test_for` ought to work but fails because the test is
96*0797b24eSAndroid Build Coastguard Worker// host enabled so host variants of the APEXes are expected.
97*0797b24eSAndroid Build Coastguard Workercc_test {
98*0797b24eSAndroid Build Coastguard Worker    name: "libnativehelper_internal_tests",
99*0797b24eSAndroid Build Coastguard Worker    defaults: [
100*0797b24eSAndroid Build Coastguard Worker        "libnativehelper_unit_test_defaults",
101*0797b24eSAndroid Build Coastguard Worker    ],
102*0797b24eSAndroid Build Coastguard Worker    srcs: [
103*0797b24eSAndroid Build Coastguard Worker        "ExpandableString_test.cpp",
104*0797b24eSAndroid Build Coastguard Worker        "JniInvocation_test.cpp",
105*0797b24eSAndroid Build Coastguard Worker    ],
106*0797b24eSAndroid Build Coastguard Worker    bootstrap: true,
107*0797b24eSAndroid Build Coastguard Worker    shared_libs: ["libnativehelper"],
108*0797b24eSAndroid Build Coastguard Worker}
109*0797b24eSAndroid Build Coastguard Worker
110*0797b24eSAndroid Build Coastguard Workercc_library {
111*0797b24eSAndroid Build Coastguard Worker    name: "libnativehelper_internal_tests_jni",
112*0797b24eSAndroid Build Coastguard Worker    defaults: [
113*0797b24eSAndroid Build Coastguard Worker        "libnativehelper_common_test_defaults",
114*0797b24eSAndroid Build Coastguard Worker    ],
115*0797b24eSAndroid Build Coastguard Worker    host_supported: false,
116*0797b24eSAndroid Build Coastguard Worker    srcs: [
117*0797b24eSAndroid Build Coastguard Worker        "libnativehelper_test.cpp",
118*0797b24eSAndroid Build Coastguard Worker    ],
119*0797b24eSAndroid Build Coastguard Worker    shared_libs: [
120*0797b24eSAndroid Build Coastguard Worker        "libnativehelper",
121*0797b24eSAndroid Build Coastguard Worker        "liblog",
122*0797b24eSAndroid Build Coastguard Worker    ],
123*0797b24eSAndroid Build Coastguard Worker    static_libs: [
124*0797b24eSAndroid Build Coastguard Worker        "libbase",
125*0797b24eSAndroid Build Coastguard Worker        "libgmock",
126*0797b24eSAndroid Build Coastguard Worker        "libnativetesthelper_jni",
127*0797b24eSAndroid Build Coastguard Worker    ],
128*0797b24eSAndroid Build Coastguard Worker}
129*0797b24eSAndroid Build Coastguard Worker
130*0797b24eSAndroid Build Coastguard Workerandroid_test {
131*0797b24eSAndroid Build Coastguard Worker    name: "LibnativehelperInternalTestCases",
132*0797b24eSAndroid Build Coastguard Worker    srcs: [
133*0797b24eSAndroid Build Coastguard Worker        "src/**/*.java",
134*0797b24eSAndroid Build Coastguard Worker    ],
135*0797b24eSAndroid Build Coastguard Worker    jni_libs: [
136*0797b24eSAndroid Build Coastguard Worker        "libnativehelper_internal_tests_jni",
137*0797b24eSAndroid Build Coastguard Worker    ],
138*0797b24eSAndroid Build Coastguard Worker    static_libs: [
139*0797b24eSAndroid Build Coastguard Worker        "ctstestrunner-axt",
140*0797b24eSAndroid Build Coastguard Worker        "nativetesthelper",
141*0797b24eSAndroid Build Coastguard Worker    ],
142*0797b24eSAndroid Build Coastguard Worker    manifest: "AndroidManifest.xml",
143*0797b24eSAndroid Build Coastguard Worker    test_suites: ["general-tests"],
144*0797b24eSAndroid Build Coastguard Worker}
145