summaryrefslogtreecommitdiff
path: root/libnativebridge/tests
diff options
context:
space:
mode:
Diffstat (limited to 'libnativebridge/tests')
-rw-r--r--libnativebridge/tests/Android.bp65
-rw-r--r--libnativebridge/tests/PreInitializeNativeBridge_test.cpp4
-rw-r--r--libnativebridge/tests/libnativebridge_api_test.cpp (renamed from libnativebridge/tests/libnativebridge_lazy_test.cpp)15
3 files changed, 21 insertions, 63 deletions
diff --git a/libnativebridge/tests/Android.bp b/libnativebridge/tests/Android.bp
index f9c1f490e0..dc6965f607 100644
--- a/libnativebridge/tests/Android.bp
+++ b/libnativebridge/tests/Android.bp
@@ -82,14 +82,13 @@ cc_test_library {
defaults: ["libnativebridge-test-case-defaults"],
}
-cc_defaults {
- name: "libnativebridge-tests-defaults",
+cc_test {
+ name: "libnativebridge-tests",
defaults: [
"art_defaults",
"art_test_defaults",
],
- // TODO(mast): Split up art_gtest_defaults so that it can be used for the
- // following without pulling in lots of libs.
+
target: {
linux: {
cflags: [
@@ -100,11 +99,6 @@ cc_defaults {
],
},
},
-}
-
-cc_test {
- name: "libnativebridge-tests",
- defaults: ["libnativebridge-tests-defaults"],
// native_bridge.cc doesn't support reloading the native bridge after
// unloading, so each test needs to be its own process.
@@ -154,49 +148,14 @@ cc_test {
header_libs: ["libbase_headers"],
}
-// Variant of libnativebridge-tests that is part of CTS to verify backed-by API
-// coverage.
+// Very basic tests in CTS to verify backed-by API coverage of the exported API
+// in libnativebridge.map.txt.
cc_test {
name: "art_libnativebridge_cts_tests",
- defaults: [
- "art_standalone_test_defaults",
- "libnativebridge-tests-defaults",
- ],
-
- // TODO(b/189484095): Pick only a subset of the tests in
- // libnativebridge-tests that don't require the native bridge lib to be
- // loaded, to avoid the problems with test_per_src and pushing the extra
- // libnativebridge*-test-case.so files to device through tradefed.
- srcs: [
- // ValidNameNativeBridge_test.cpp needs to be first due to global state
- // had_error that isn't reset between tests.
- "ValidNameNativeBridge_test.cpp",
- "NeedsNativeBridge_test.cpp",
- "UnavailableNativeBridge_test.cpp",
- ],
- static_libs: [
- "libdl_android",
- "libnativebridge",
- ],
- shared_libs: [
- "liblog",
- ],
- header_libs: ["libbase_headers"],
-
- // Support multilib variants (using different suffix per sub-architecture),
- // which is needed on build targets with secondary architectures, as the CTS
- // test suite packaging logic flattens all test artifacts into a single
- // `testcases` directory.
- compile_multilib: "both",
- multilib: {
- lib32: {
- suffix: "32",
- },
- lib64: {
- suffix: "64",
- },
- },
-
+ defaults: ["art_standalone_test_defaults"],
+ shared_libs: ["libnativebridge"],
+ static_libs: ["libbase"],
+ srcs: ["libnativebridge_api_test.cpp"],
test_config_template: ":art-gtests-target-standalone-cts-template",
test_suites: [
"cts",
@@ -208,12 +167,10 @@ cc_test {
cc_test {
name: "libnativebridge-lazy-tests",
- defaults: ["libnativebridge-tests-defaults"],
- host_supported: false,
- test_suites: ["device-tests"],
+ defaults: ["art_standalone_test_defaults"],
static_libs: [
"libbase",
"libnativebridge_lazy",
],
- srcs: ["libnativebridge_lazy_test.cpp"],
+ srcs: ["libnativebridge_api_test.cpp"],
}
diff --git a/libnativebridge/tests/PreInitializeNativeBridge_test.cpp b/libnativebridge/tests/PreInitializeNativeBridge_test.cpp
index 149b05ed7c..98ef30f11b 100644
--- a/libnativebridge/tests/PreInitializeNativeBridge_test.cpp
+++ b/libnativebridge/tests/PreInitializeNativeBridge_test.cpp
@@ -39,7 +39,7 @@ TEST_F(NativeBridgeTest, PreInitializeNativeBridge) {
// Try to create our mount namespace.
if (unshare(CLONE_NEWNS) != -1) {
// Create a placeholder file.
- FILE* cpuinfo = fopen("./cpuinfo", "w");
+ FILE* cpuinfo = fopen("./cpuinfo", "we");
ASSERT_NE(nullptr, cpuinfo) << strerror(errno);
fprintf(cpuinfo, kTestData);
fclose(cpuinfo);
@@ -47,7 +47,7 @@ TEST_F(NativeBridgeTest, PreInitializeNativeBridge) {
ASSERT_TRUE(PreInitializeNativeBridge("does not matter 1", "short 2"));
// Read /proc/cpuinfo
- FILE* proc_cpuinfo = fopen("/proc/cpuinfo", "r");
+ FILE* proc_cpuinfo = fopen("/proc/cpuinfo", "re");
ASSERT_NE(nullptr, proc_cpuinfo) << strerror(errno);
char buf[1024];
EXPECT_NE(nullptr, fgets(buf, sizeof(buf), proc_cpuinfo)) << "Error reading.";
diff --git a/libnativebridge/tests/libnativebridge_lazy_test.cpp b/libnativebridge/tests/libnativebridge_api_test.cpp
index e1d66f53df..037587cd81 100644
--- a/libnativebridge/tests/libnativebridge_lazy_test.cpp
+++ b/libnativebridge/tests/libnativebridge_api_test.cpp
@@ -21,33 +21,34 @@
namespace android {
-class NativeBridgeLazyTest : public ::testing::Test {};
+class NativeBridgeApiTest : public ::testing::Test {};
+// Test the exported API in libnativebridge and libnativebridge_lazy.
// The testing we can do here is limited since there's no exported API to
// actually load the native bridge, but we only need to test the trivial
// wrappers.
-TEST_F(NativeBridgeLazyTest, NeedsNativeBridge) {
+TEST_F(NativeBridgeApiTest, NeedsNativeBridge) {
EXPECT_FALSE(NeedsNativeBridge(ABI_STRING));
}
-TEST_F(NativeBridgeLazyTest, PreInitializeNativeBridge) {
+TEST_F(NativeBridgeApiTest, PreInitializeNativeBridge) {
EXPECT_FALSE(PreInitializeNativeBridge(nullptr, ""));
}
-TEST_F(NativeBridgeLazyTest, NativeBridgeAvailable) {
+TEST_F(NativeBridgeApiTest, NativeBridgeAvailable) {
EXPECT_FALSE(NativeBridgeAvailable());
}
-TEST_F(NativeBridgeLazyTest, NativeBridgeInitialized) {
+TEST_F(NativeBridgeApiTest, NativeBridgeInitialized) {
EXPECT_FALSE(NativeBridgeInitialized());
}
-TEST_F(NativeBridgeLazyTest, NativeBridgeGetTrampoline) {
+TEST_F(NativeBridgeApiTest, NativeBridgeGetTrampoline) {
EXPECT_EQ(nullptr, NativeBridgeGetTrampoline(nullptr, nullptr, nullptr, 0));
}
-TEST_F(NativeBridgeLazyTest, NativeBridgeGetError) {
+TEST_F(NativeBridgeApiTest, NativeBridgeGetError) {
EXPECT_STREQ("native bridge is not initialized", NativeBridgeGetError());
}