Build changes to build multilib tests
Test files will be emitted into directories for both first and second
target architectures. Going with the naming scheme for binaries,
single-architecture and 32b cases have the standard name, and
64b goes into a directory with "64" suffix.
In multi-architecture setups, the default concrete test targets are
extended with a "32" and "64" suffix, e.g., test-art-target-oat-JniTest64.
The suffix-less form is linked to the primary architecture target (usually 64).
That means running combined targets, e.g., test-art-target-oat, will only
test the primary architecture right now.
Fixed target run tests calling the right dalvikvm. Fixed library search
path for tests derived from CommonRuntimeTest.
Missing in this work-in-progress is correct handling of dex2oat for the
secondary architecture. To make it work on 64b, comment out line 101
in build/Android.executable.mk
Change-Id: I3d260994e6efe8b73b56c71994053cc9392943a9
diff --git a/Android.mk b/Android.mk
index 6c388e5..fe39c03 100644
--- a/Android.mk
+++ b/Android.mk
@@ -229,13 +229,26 @@
test-art-target-oat: $(ART_TEST_TARGET_OAT_TARGETS)
@echo test-art-target-oat PASSED
-define declare-test-art-target-run-test
-.PHONY: test-art-target-run-test-$(1)
-test-art-target-run-test-$(1): test-art-target-sync $(DX) $(HOST_OUT_EXECUTABLES)/jasmin
- DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) art/test/run-test $(DALVIKVM_FLAGS) $(1)
- @echo test-art-target-run-test-$(1) PASSED
+define declare-test-art-target-run-test-impl
+.PHONY: test-art-target-run-test-$(1)$($(2)ART_PHONY_TEST_TARGET_SUFFIX)
+test-art-target-run-test-$(1)$($(2)ART_PHONY_TEST_TARGET_SUFFIX): test-art-target-sync $(DX) $(HOST_OUT_EXECUTABLES)/jasmin
+ DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) art/test/run-test $(DALVIKVM_FLAGS) $(1) $(3)
+ @echo test-art-target-run-test-$(1)$($(2)ART_PHONY_TEST_TARGET_SUFFIX) PASSED
+endef
-TEST_ART_TARGET_RUN_TEST_TARGETS += test-art-target-run-test-$(1)
+define declare-test-art-target-run-test
+
+ ifdef TARGET_2ND_ARCH
+ $(call declare-test-art-target-run-test-impl,$(1),2ND_,)
+
+ ifneq ($(ART_PHONY_TEST_TARGET_SUFFIX),)
+ # Link primary to non-suffix
+test-art-target-run-test-$(1): test-art-target-run-test-$(1)$(ART_PHONY_TEST_TARGET_SUFFIX)
+ endif
+ endif
+ $(call declare-test-art-target-run-test-impl,$(1),,--$(ART_TARGET_BINARY_SUFFIX))
+
+ TEST_ART_TARGET_RUN_TEST_TARGETS += test-art-target-run-test-$(1)
test-art-run-test-$(1): test-art-host-run-test-$(1) test-art-target-run-test-$(1)