blob: caf81316d6efe7f0feebcfb1897f38d253a0a787 [file] [log] [blame]
// Build the unit tests.
package {
// http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// the below license kinds from "libnativehelper_license":
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["libnativehelper_license"],
}
cc_defaults {
name: "libnativehelper_test_defaults",
cflags: [
// Base set of cflags used by all things ART.
"-fno-rtti",
"-ggdb3",
"-Wall",
"-Werror",
"-Wextra",
"-Wstrict-aliasing",
"-fstrict-aliasing",
"-Wunreachable-code",
"-Wredundant-decls",
"-Wshadow",
"-Wunused",
"-fvisibility=protected",
// Warn about thread safety violations with clang.
"-Wthread-safety",
"-Wthread-safety-negative",
// Warn if switch fallthroughs aren't annotated.
"-Wimplicit-fallthrough",
// Enable float equality warnings.
"-Wfloat-equal",
// Enable warning of converting ints to void*.
"-Wint-to-void-pointer-cast",
// Enable warning for deprecated language features.
"-Wdeprecated",
// Disable warning from external/libcxxabi/include/cxxabi.h
"-Wno-deprecated-dynamic-exception-spec",
// Enable warning for unreachable break & return.
"-Wunreachable-code-break",
"-Wunreachable-code-return",
// Enable thread annotations for std::mutex, etc.
"-D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS",
],
host_supported: true,
test_options: {
unit_test: true,
},
tidy: true,
}
cc_test {
name: "libnativehelper_tests",
defaults: ["libnativehelper_test_defaults"],
test_suites: ["device-tests"],
srcs: [
"scoped_local_frame_test.cpp",
"scoped_local_ref_test.cpp",
"scoped_primitive_array_test.cpp",
"libnativehelper_api_test.c",
"JniSafeRegisterNativeMethods_test.cpp",
],
shared_libs: ["libnativehelper"],
}
cc_test {
name: "libnativehelper_lazy_tests",
defaults: ["libnativehelper_test_defaults"],
test_suites: ["device-tests"],
srcs: ["libnativehelper_lazy_test.cpp"],
shared_libs: ["liblog"],
static_libs: ["libnativehelper_lazy"],
}
// Tests for internal functions that aren't present in the APEX stub API. Use
// `bootstrap:true` to bypass the stub library. This test won't link when
// prebuilts are preferred, because we cannot link against the source variant
// then.
// TODO(b/180107266): Enable in TEST_MAPPING. Also use a better way than
// `bootstrap:true` - `test_for` ought to work but fails because the test is
// host enabled so host variants of the APEXes are expected.
cc_test {
name: "libnativehelper_internal_tests",
defaults: [
"art_module_source_build_defaults",
"libnativehelper_test_defaults",
],
srcs: [
"ExpandableString_test.cpp",
"JniInvocation_test.cpp",
],
bootstrap: true,
shared_libs: ["libnativehelper"],
}