summaryrefslogtreecommitdiff
path: root/libnativebridge/tests/Android.bp
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2024-05-07 16:55:00 -0700
committer Colin Cross <ccross@android.com> 2024-05-15 23:02:29 +0000
commit3f3ac2c75b1cef76ef2af73371880cce8ec43455 (patch)
tree41bf31be76db0293dc1926c224881958baffc309 /libnativebridge/tests/Android.bp
parenta57f3e98e7ef099e491785bfa5935374ce116b03 (diff)
Use isolated: true instead of test_per_src: true in libnativebridge_tests
libnativebridge_tests uses test_per_src: true to avoid running multiple tests in the same process. gtest_isolated uses separate processes for each test, but without the various incompatibilities caused by test_per_src. Switch to isolated: true instead. Create a temporary directory in the constructor of the shared NativeBridgeTest base class instead and put the code_cache directory inside it to keep the tests from trying to modify the current directory. Also add the tests to TEST_MAPPING and remove the preupload check. Bug: 189484095 Test: atest --host libnativebridge_tests Test: atest libnativebridge_tests Flag: TEST_ONLY Change-Id: Iea522c1895f1f5996b10e545c44d6b00bda1ee3d
Diffstat (limited to 'libnativebridge/tests/Android.bp')
-rw-r--r--libnativebridge/tests/Android.bp38
1 files changed, 25 insertions, 13 deletions
diff --git a/libnativebridge/tests/Android.bp b/libnativebridge/tests/Android.bp
index ca054516f6..85bdf9967c 100644
--- a/libnativebridge/tests/Android.bp
+++ b/libnativebridge/tests/Android.bp
@@ -27,8 +27,9 @@ cc_defaults {
name: "libnativebridge-test-case-defaults",
defaults: [
"art_defaults",
- "art_test_defaults",
+ "art_test_common_defaults",
],
+ host_supported: true,
// TODO(mast): Split up art_gtest_defaults so that it can be used for the
// following without pulling in lots of libs.
target: {
@@ -115,19 +116,10 @@ cc_test {
},
},
- // native_bridge.cc doesn't support reloading the native bridge after
- // unloading, so each test needs to be its own process.
- test_per_src: true,
-
- // Disable pre-submit host unit-testing for this test module, as
- // it is not compatible with TradeFed (because of the use of the
- // `test_per_src` feature above) and meant to be executed with the
- // `runtests.sh` script instead.
- test_options: {
- unit_test: false,
- },
+ isolated: true,
srcs: [
+ "NativeBridgeTest.cpp",
"NativeBridgeApi.c",
"CodeCacheCreate_test.cpp",
"CodeCacheExists_test.cpp",
@@ -153,8 +145,25 @@ cc_test {
],
shared_libs: [
+ "libbase",
"liblog",
"libnativebridge",
+ "libnativebridge6prezygotefork",
+ "libnativebridge7criticalnative",
+
+ // Ideally these would only need to be listed in data_libs, but they
+ // are dlopen'd by libnativebridge, not by libnativebridge-tests,
+ // and the linker can't find them relative to /system/lib64/libnativebridge.so.
+ // Linking them here causes them to be loaded from alongside
+ // libnativebridge-tests when it is executed, and then the later dlopen
+ // returns the handle to the already-loaded library.
+ "libnativebridge-test-case",
+ "libnativebridge2-test-case",
+ "libnativebridge3-test-case",
+ "libnativebridge6-test-case",
+ "libnativebridge7-test-case",
+ ],
+ data_libs: [
"libnativebridge-test-case",
"libnativebridge2-test-case",
"libnativebridge3-test-case",
@@ -163,7 +172,10 @@ cc_test {
"libnativebridge6prezygotefork",
"libnativebridge7criticalnative",
],
- header_libs: ["libbase_headers"],
+
+ test_suites: [
+ "general-tests",
+ ],
}
// Very basic tests in CTS to verify backed-by API coverage of the exported API