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