diff options
author | 2024-05-07 16:55:00 -0700 | |
---|---|---|
committer | 2024-05-15 23:02:29 +0000 | |
commit | 3f3ac2c75b1cef76ef2af73371880cce8ec43455 (patch) | |
tree | 41bf31be76db0293dc1926c224881958baffc309 /libnativebridge/tests/Android.bp | |
parent | a57f3e98e7ef099e491785bfa5935374ce116b03 (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.bp | 38 |
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 |