Make artd tests work well enough on master-art. am: 69a57a75cf am: d0ded311bc am: 33d2760366 am: a2772c5c16
Original change: https://android-review.googlesource.com/c/platform/art/+/2134335
Change-Id: I7109ed841bcb3a46ab77704436da8157ccdad1cc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/artd/Android.bp b/artd/Android.bp
index b645ec6..c0ffd0a 100644
--- a/artd/Android.bp
+++ b/artd/Android.bp
@@ -69,17 +69,17 @@
}
// Version of ART gtest `art_artd_tests` bundled with the ART APEX on target.
-// TODO(b/192274705): Remove this module when the migration to standalone ART
-// gtests is complete.
+//
+// This test requires the full libbinder_ndk implementation on host, which is
+// not available as a prebuilt on the thin master-art branch. Hence it won't
+// work there, and there's a conditional in Android.gtest.mk to exclude it from
+// test-art-host-gtest.
art_cc_test {
name: "art_artd_tests",
defaults: [
"art_gtest_defaults",
"art_artd_tests_defaults",
],
- // TODO(b/235464166): The host test does not build on master-art because of
- // the dependency on libbinder_ndk.
- host_supported: false,
}
// Standalone version of ART gtest `art_artd_tests`, not bundled with the ART
@@ -90,7 +90,4 @@
"art_standalone_gtest_defaults",
"art_artd_tests_defaults",
],
- // TODO(b/235464166): The host test does not build on master-art because of
- // the dependency on libbinder_ndk.
- host_supported: false,
}
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 0080ae4..0c897b4 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -133,13 +133,18 @@
art_sigchain_tests \
ART_TEST_MODULES_TARGET := $(ART_TEST_MODULES_COMMON) \
+ art_artd_tests \
art_odrefresh_tests \
-# TODO(b/235464166): art_artd_tests doesn't work on master-art because of the dependency on
-# libbinder_ndk.
-
ART_TEST_MODULES_HOST := $(ART_TEST_MODULES_COMMON)
+ifneq (,$(wildcard frameworks/native/libs/binder))
+ # Only include the artd host tests if we have the binder sources available and
+ # can build the libbinder_ndk dependency. It is not available as a prebuilt on
+ # master-art.
+ ART_TEST_MODULES_HOST += art_artd_tests
+endif
+
ART_TARGET_GTEST_NAMES := $(foreach tm,$(ART_TEST_MODULES_TARGET),\
$(foreach path,$(ART_TEST_LIST_device_$(TARGET_ARCH)_$(tm)),\
$(notdir $(path))\
diff --git a/build/apex/Android.bp b/build/apex/Android.bp
index 07fd103..9ad5eee 100644
--- a/build/apex/Android.bp
+++ b/build/apex/Android.bp
@@ -400,9 +400,7 @@
// ART gtests with dependencies on internal ART APEX libraries.
art_gtests = [
- // TODO(b/235464166): art_artd_tests doesn't work on master-art because of
- // the dependency on libbinder_ndk.
- // "art_artd_tests",
+ "art_artd_tests",
"art_cmdline_tests",
"art_compiler_tests",
"art_dex2oat_tests",
diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py
index e180464..1813913 100755
--- a/build/apex/art_apex_test.py
+++ b/build/apex/art_apex_test.py
@@ -670,9 +670,7 @@
def run(self):
# Check ART test binaries.
- # TODO(b/235464166): art_artd_tests doesn't work on master-art because of
- # the dependency on libbinder_ndk.
- # self._checker.check_art_test_executable('art_artd_tests')
+ self._checker.check_art_test_executable('art_artd_tests')
self._checker.check_art_test_executable('art_cmdline_tests')
self._checker.check_art_test_executable('art_compiler_tests')
self._checker.check_art_test_executable('art_dex2oat_tests')
diff --git a/test/utils/regen-test-files b/test/utils/regen-test-files
index fc7c360..481b9ba 100755
--- a/test/utils/regen-test-files
+++ b/test/utils/regen-test-files
@@ -217,9 +217,7 @@
# ART gtests that do not need root access to the device.
art_gtest_user_module_names = [
"art_libnativebridge_cts_tests",
- # TODO(b/235464166): art_artd_tests doesn't work on master-art because of
- # the dependency on libbinder_ndk.
- # "art_standalone_artd_tests",
+ "art_standalone_artd_tests",
"art_standalone_cmdline_tests",
"art_standalone_compiler_tests",
"art_standalone_dex2oat_tests",