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",