summaryrefslogtreecommitdiff
path: root/libnativebridge/tests
diff options
context:
space:
mode:
Diffstat (limited to 'libnativebridge/tests')
-rw-r--r--libnativebridge/tests/Android.bp20
-rw-r--r--libnativebridge/tests/libnativebridge_lazy_test.cpp54
2 files changed, 66 insertions, 8 deletions
diff --git a/libnativebridge/tests/Android.bp b/libnativebridge/tests/Android.bp
index fa98f5ecee..b789a2e9f8 100644
--- a/libnativebridge/tests/Android.bp
+++ b/libnativebridge/tests/Android.bp
@@ -82,7 +82,6 @@ cc_test_library {
defaults: ["libnativebridge-test-case-defaults"],
}
-// Build the unit tests.
cc_defaults {
name: "libnativebridge-tests-defaults",
defaults: [
@@ -101,6 +100,11 @@ 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.
@@ -132,6 +136,7 @@ cc_defaults {
shared_libs: [
"liblog",
+ "libnativebridge",
"libnativebridge-test-case",
"libnativebridge2-test-case",
"libnativebridge3-test-case",
@@ -142,14 +147,13 @@ cc_defaults {
}
cc_test {
- name: "libnativebridge-tests",
- defaults: ["libnativebridge-tests-defaults"],
- shared_libs: ["libnativebridge"],
-}
-
-cc_test {
name: "libnativebridge-lazy-tests",
defaults: ["libnativebridge-tests-defaults"],
host_supported: false,
- shared_libs: ["libnativebridge_lazy"],
+ test_suites: ["device-tests"],
+ static_libs: [
+ "libbase",
+ "libnativebridge_lazy",
+ ],
+ srcs: ["libnativebridge_lazy_test.cpp"],
}
diff --git a/libnativebridge/tests/libnativebridge_lazy_test.cpp b/libnativebridge/tests/libnativebridge_lazy_test.cpp
new file mode 100644
index 0000000000..e1d66f53df
--- /dev/null
+++ b/libnativebridge/tests/libnativebridge_lazy_test.cpp
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <android-base/macros.h>
+#include <gtest/gtest.h>
+
+#include "nativebridge/native_bridge.h"
+
+namespace android {
+
+class NativeBridgeLazyTest : public ::testing::Test {};
+
+// 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) {
+ EXPECT_FALSE(NeedsNativeBridge(ABI_STRING));
+}
+
+TEST_F(NativeBridgeLazyTest, PreInitializeNativeBridge) {
+ EXPECT_FALSE(PreInitializeNativeBridge(nullptr, ""));
+}
+
+TEST_F(NativeBridgeLazyTest, NativeBridgeAvailable) {
+ EXPECT_FALSE(NativeBridgeAvailable());
+}
+
+TEST_F(NativeBridgeLazyTest, NativeBridgeInitialized) {
+ EXPECT_FALSE(NativeBridgeInitialized());
+}
+
+TEST_F(NativeBridgeLazyTest, NativeBridgeGetTrampoline) {
+ EXPECT_EQ(nullptr, NativeBridgeGetTrampoline(nullptr, nullptr, nullptr, 0));
+}
+
+TEST_F(NativeBridgeLazyTest, NativeBridgeGetError) {
+ EXPECT_STREQ("native bridge is not initialized", NativeBridgeGetError());
+}
+
+}; // namespace android