Convert art runtests to Android.bp
Build the art runtest libraries with Android.bp. The host test
libraries move from out/host/linux-x86/lib[64] to
out/host/linux-x86/nativetest[64], and the device test libraires from
/data/artest/${TARGET_ARCH} to /data/nativetest[64]/art/${TARGET_ARCH},
which requires adding nativetest to the library search path, and fixing
some tests to support multiple entries in library search paths.
Test: m -j test-art-host
Test: m -j test-art-target
Change-Id: I2118a3292f22f275954ddd7cdd4e12287fe47808
diff --git a/build/art.go b/build/art.go
index f2efbfe..f5547cc 100644
--- a/build/art.go
+++ b/build/art.go
@@ -204,6 +204,7 @@
soong.RegisterModuleType("art_cc_library", artLibrary)
soong.RegisterModuleType("art_cc_binary", artBinary)
soong.RegisterModuleType("art_cc_test", artTest)
+ soong.RegisterModuleType("art_cc_test_library", artTestLibrary)
soong.RegisterModuleType("art_cc_defaults", artDefaultsFactory)
soong.RegisterModuleType("art_global_defaults", artGlobalDefaultsFactory)
}
@@ -253,6 +254,17 @@
return module, props
}
+func artTestLibrary() (blueprint.Module, []interface{}) {
+ test := cc.NewTestLibrary(android.HostAndDeviceSupported)
+ module, props := test.Init()
+
+ props = installCodegenCustomizer(module, props, false)
+
+ android.AddLoadHook(module, prefer32Bit)
+ android.AddInstallHook(module, testInstall)
+ return module, props
+}
+
func envDefault(ctx android.BaseContext, key string, defaultValue string) string {
ret := ctx.AConfig().Getenv(key)
if ret == "" {
diff --git a/cmdline/Android.bp b/cmdline/Android.bp
index c9cd9dc..c811cbd 100644
--- a/cmdline/Android.bp
+++ b/cmdline/Android.bp
@@ -17,7 +17,7 @@
art_cc_test {
name: "art_cmdline_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: ["cmdline_parser_test.cc"],
}
diff --git a/compiler/Android.bp b/compiler/Android.bp
index 4af43cc..8a2c94a 100644
--- a/compiler/Android.bp
+++ b/compiler/Android.bp
@@ -293,7 +293,7 @@
art_cc_test {
name: "art_compiler_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: [
"compiled_method_test.cc",
@@ -392,7 +392,7 @@
name: "art_compiler_host_tests",
device_supported: false,
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
codegen: {
arm: {
diff --git a/dex2oat/Android.bp b/dex2oat/Android.bp
index d422734..11c18b0 100644
--- a/dex2oat/Android.bp
+++ b/dex2oat/Android.bp
@@ -124,7 +124,7 @@
art_cc_test {
name: "art_dex2oat_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: ["dex2oat_test.cc"],
}
diff --git a/dexdump/Android.bp b/dexdump/Android.bp
index 74f7578..64f2299 100644
--- a/dexdump/Android.bp
+++ b/dexdump/Android.bp
@@ -28,7 +28,7 @@
art_cc_test {
name: "art_dexdump_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: ["dexdump_test.cc"],
}
diff --git a/dexlayout/Android.bp b/dexlayout/Android.bp
index 9c4499f..163cb01 100644
--- a/dexlayout/Android.bp
+++ b/dexlayout/Android.bp
@@ -27,7 +27,7 @@
art_cc_test {
name: "art_dexlayout_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: ["dexlayout_test.cc"],
}
diff --git a/dexlist/Android.bp b/dexlist/Android.bp
index ddf01db..52b1ee9 100644
--- a/dexlist/Android.bp
+++ b/dexlist/Android.bp
@@ -23,7 +23,7 @@
art_cc_test {
name: "art_dexlist_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: ["dexlist_test.cc"],
}
diff --git a/imgdiag/Android.bp b/imgdiag/Android.bp
index 639b8e8..7837d66 100644
--- a/imgdiag/Android.bp
+++ b/imgdiag/Android.bp
@@ -73,7 +73,7 @@
art_cc_test {
name: "art_imgdiag_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: ["imgdiag_test.cc"],
}
diff --git a/oatdump/Android.bp b/oatdump/Android.bp
index 02a51a6..ff56ea5 100644
--- a/oatdump/Android.bp
+++ b/oatdump/Android.bp
@@ -90,7 +90,7 @@
art_cc_test {
name: "art_oatdump_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: ["oatdump_test.cc"],
}
diff --git a/profman/Android.bp b/profman/Android.bp
index cd1aaab..322dda2 100644
--- a/profman/Android.bp
+++ b/profman/Android.bp
@@ -56,7 +56,7 @@
art_cc_test {
name: "art_profman_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: ["profile_assistant_test.cc"],
}
diff --git a/runtime/Android.bp b/runtime/Android.bp
index c00689b..8c17653 100644
--- a/runtime/Android.bp
+++ b/runtime/Android.bp
@@ -475,7 +475,7 @@
art_cc_test {
name: "art_runtime_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: [
"arch/arch_test.cc",
@@ -570,7 +570,7 @@
art_cc_test {
name: "art_runtime_compiler_tests",
defaults: [
- "art_test_defaults",
+ "art_gtest_defaults",
],
srcs: [
"jni_internal_test.cc",
diff --git a/test/115-native-bridge/run b/test/115-native-bridge/run
index fb0b967..9290dd3 100644
--- a/test/115-native-bridge/run
+++ b/test/115-native-bridge/run
@@ -18,6 +18,8 @@
# Use libnativebridgetest as a native bridge, start NativeBridgeMain (Main is JniTest main file).
LIBPATH=$(echo ${ARGS} | sed -r 's/.*Djava.library.path=([^ ]*) .*/\1/')
+# Trim all but the last entry in LIBPATH, which will be nativetest[64]
+LIBPATH=${LIBPATH##*:}
ln -sf ${LIBPATH}/libnativebridgetest.so .
touch libarttest.so
touch libarttestd.so
diff --git a/test/130-hprof/src/Main.java b/test/130-hprof/src/Main.java
index c145f27..57be3a7 100644
--- a/test/130-hprof/src/Main.java
+++ b/test/130-hprof/src/Main.java
@@ -125,7 +125,7 @@
private static File getHprofConf() {
// Use the java.library.path. It points to the lib directory.
- File libDir = new File(System.getProperty("java.library.path"));
+ File libDir = new File(System.getProperty("java.library.path").split(":")[0]);
return new File(new File(libDir.getParentFile(), "bin"), "hprof-conv");
}
diff --git a/test/Android.bp b/test/Android.bp
index 54c85eb..1256960 100644
--- a/test/Android.bp
+++ b/test/Android.bp
@@ -17,12 +17,37 @@
art_cc_defaults {
name: "art_test_defaults",
host_supported: true,
+ target: {
+ android_arm: {
+ relative_install_path: "art/arm",
+ },
+ android_arm64: {
+ relative_install_path: "art/arm64",
+ },
+ android_mips: {
+ relative_install_path: "art/mips",
+ },
+ android_mips64: {
+ relative_install_path: "art/mips64",
+ },
+ android_x86: {
+ relative_install_path: "art/x86",
+ },
+ android_x86_64: {
+ relative_install_path: "art/x86_64",
+ },
+ },
+}
+
+art_cc_defaults {
+ name: "art_gtest_defaults",
test_per_src: true,
// These really are gtests, but the gtest library comes from libart-gtest.so
gtest: false,
defaults: [
"art_defaults",
"art_debug_defaults",
+ "art_test_defaults",
],
shared_libs: [
@@ -92,25 +117,6 @@
"-Wno-missing-noreturn",
],
},
-
- android_arm: {
- relative_install_path: "art/arm",
- },
- android_arm64: {
- relative_install_path: "art/arm64",
- },
- android_mips: {
- relative_install_path: "art/mips",
- },
- android_mips64: {
- relative_install_path: "art/mips64",
- },
- android_x86: {
- relative_install_path: "art/x86",
- },
- android_x86_64: {
- relative_install_path: "art/x86_64",
- },
},
}
@@ -186,3 +192,166 @@
},
},
}
+
+cc_defaults {
+ name: "libartagent-defaults",
+ defaults: [
+ "art_defaults",
+ "art_test_defaults",
+ ],
+ shared_libs: [
+ "libbacktrace",
+ "libnativehelper",
+ ],
+ target: {
+ android: {
+ shared_libs: ["libdl"],
+ },
+ host: {
+ host_ldlibs: [
+ "-ldl",
+ "-lpthread",
+ ],
+ },
+ },
+}
+
+art_cc_test_library {
+ name: "libartagent",
+ srcs: ["900-hello-plugin/load_unload.cc"],
+ defaults: ["libartagent-defaults"],
+ shared_libs: ["libart"],
+}
+
+art_cc_test_library {
+ name: "libartagentd",
+ srcs: ["900-hello-plugin/load_unload.cc"],
+ defaults: [
+ "libartagent-defaults",
+ "art_debug_defaults",
+ ],
+ shared_libs: ["libartd"],
+}
+
+art_cc_test_library {
+ name: "libtiagent",
+ defaults: ["libartagent-defaults"],
+ srcs: [
+ "ti-agent/common_load.cc",
+ "901-hello-ti-agent/basics.cc",
+ ],
+ shared_libs: [
+ "libart",
+ "libopenjdkjvmti",
+ ],
+}
+
+art_cc_test_library {
+ name: "libtiagentd",
+ defaults: [
+ "libartagent-defaults",
+ "art_debug_defaults",
+ ],
+ srcs: [
+ "ti-agent/common_load.cc",
+ "901-hello-ti-agent/basics.cc",
+ ],
+ shared_libs: [
+ "libartd",
+ "libopenjdkjvmtid",
+ ],
+}
+
+cc_defaults {
+ name: "libarttest-defaults",
+ defaults: [
+ "art_defaults",
+ "art_test_defaults",
+ ],
+ srcs: [
+ "common/runtime_state.cc",
+ "common/stack_inspect.cc",
+ "004-JniTest/jni_test.cc",
+ "004-SignalTest/signaltest.cc",
+ "004-ReferenceMap/stack_walk_refmap_jni.cc",
+ "004-StackWalk/stack_walk_jni.cc",
+ "004-ThreadStress/thread_stress.cc",
+ "004-UnsafeTest/unsafe_test.cc",
+ "044-proxy/native_proxy.cc",
+ "051-thread/thread_test.cc",
+ "117-nopatchoat/nopatchoat.cc",
+ "1337-gc-coverage/gc_coverage.cc",
+ "136-daemon-jni-shutdown/daemon_jni_shutdown.cc",
+ "137-cfi/cfi.cc",
+ "139-register-natives/regnative.cc",
+ "141-class-unload/jni_unload.cc",
+ "148-multithread-gc-annotations/gc_coverage.cc",
+ "149-suspend-all-stress/suspend_all.cc",
+ "454-get-vreg/get_vreg_jni.cc",
+ "457-regs/regs_jni.cc",
+ "461-get-reference-vreg/get_reference_vreg_jni.cc",
+ "466-get-live-vreg/get_live_vreg_jni.cc",
+ "497-inlining-and-class-loader/clear_dex_cache.cc",
+ "543-env-long-ref/env_long_ref.cc",
+ "566-polymorphic-inlining/polymorphic_inline.cc",
+ "570-checker-osr/osr.cc",
+ "595-profile-saving/profile-saving.cc",
+ "596-app-images/app_images.cc",
+ "597-deopt-new-string/deopt.cc",
+ ],
+ shared_libs: [
+ "libbacktrace",
+ "libnativehelper",
+ ],
+ target: {
+ android: {
+ shared_libs: ["libdl"],
+ },
+ host: {
+ host_ldlibs: [
+ "-ldl",
+ "-lpthread",
+ ],
+ },
+ },
+}
+
+art_cc_test_library {
+ name: "libarttest",
+ defaults: ["libarttest-defaults"],
+ shared_libs: ["libart"],
+}
+
+art_cc_test_library {
+ name: "libarttestd",
+ defaults: [
+ "libarttest-defaults",
+ "art_debug_defaults",
+ ],
+ shared_libs: ["libartd"],
+}
+
+art_cc_test_library {
+ name: "libnativebridgetest",
+ shared_libs: ["libart"],
+ defaults: [
+ "art_defaults",
+ "art_debug_defaults",
+ "art_test_defaults",
+ ],
+ srcs: ["115-native-bridge/nativebridge.cc"],
+ target: {
+ android: {
+ shared_libs: ["libdl"],
+ },
+ host: {
+ host_ldlibs: [
+ "-ldl",
+ "-lpthread",
+ ],
+ },
+ linux: {
+ host_ldlibs: ["-lrt"],
+ },
+ },
+}
diff --git a/test/Android.libartagent.mk b/test/Android.libartagent.mk
deleted file mode 100644
index 729de3f..0000000
--- a/test/Android.libartagent.mk
+++ /dev/null
@@ -1,101 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-
-LOCAL_PATH := $(call my-dir)
-
-include art/build/Android.common_build.mk
-
-LIBARTAGENT_COMMON_SRC_FILES := \
- 900-hello-plugin/load_unload.cc
-
-# $(1): target or host
-# $(2): debug or <empty>
-define build-libartagent
- ifneq ($(1),target)
- ifneq ($(1),host)
- $$(error expected target or host for argument 1, received $(1))
- endif
- endif
- ifneq ($(2),debug)
- ifneq ($(2),)
- $$(error d or empty for argument 2, received $(2))
- endif
- suffix := d
- else
- suffix :=
- endif
-
- art_target_or_host := $(1)
-
- include $(CLEAR_VARS)
- LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
- LOCAL_MODULE := libartagent$$(suffix)
- ifeq ($$(art_target_or_host),target)
- LOCAL_MODULE_TAGS := tests
- endif
- LOCAL_SRC_FILES := $(LIBARTAGENT_COMMON_SRC_FILES)
- LOCAL_SHARED_LIBRARIES += libart$$(suffix) libbacktrace libnativehelper
- LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime
- LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_build.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.libartagent.mk
- ifeq ($$(art_target_or_host),target)
- $(call set-target-local-clang-vars)
- ifeq ($$(suffix),d)
- $(call set-target-local-cflags-vars,debug)
- else
- $(call set-target-local-cflags-vars,ndebug)
- endif
- LOCAL_SHARED_LIBRARIES += libdl
- LOCAL_MULTILIB := both
- LOCAL_MODULE_PATH_32 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_32)
- LOCAL_MODULE_PATH_64 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_64)
- LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH)
- include $(BUILD_SHARED_LIBRARY)
- else # host
- LOCAL_CLANG := $(ART_HOST_CLANG)
- LOCAL_CFLAGS := $(ART_HOST_CFLAGS)
- LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS)
- ifeq ($$(suffix),d)
- LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS)
- LOCAL_ASFLAGS += $(ART_HOST_DEBUG_ASFLAGS)
- else
- LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS)
- LOCAL_ASFLAGS += $(ART_HOST_NON_DEBUG_ASFLAGS)
- endif
- LOCAL_LDLIBS := $(ART_HOST_LDLIBS) -ldl -lpthread
- LOCAL_IS_HOST_MODULE := true
- LOCAL_MULTILIB := both
- include $(BUILD_HOST_SHARED_LIBRARY)
- endif
-
- # Clear locally used variables.
- art_target_or_host :=
- suffix :=
-endef
-
-ifeq ($(ART_BUILD_TARGET),true)
- $(eval $(call build-libartagent,target,))
- $(eval $(call build-libartagent,target,debug))
-endif
-ifeq ($(ART_BUILD_HOST),true)
- $(eval $(call build-libartagent,host,))
- $(eval $(call build-libartagent,host,debug))
-endif
-
-# Clear locally used variables.
-LOCAL_PATH :=
-LIBARTAGENT_COMMON_SRC_FILES :=
diff --git a/test/Android.libarttest.mk b/test/Android.libarttest.mk
deleted file mode 100644
index ec5b7d2..0000000
--- a/test/Android.libarttest.mk
+++ /dev/null
@@ -1,134 +0,0 @@
-#
-# Copyright (C) 2011 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include art/build/Android.common_build.mk
-
-LIBARTTEST_COMMON_SRC_FILES := \
- common/runtime_state.cc \
- common/stack_inspect.cc \
- 004-JniTest/jni_test.cc \
- 004-SignalTest/signaltest.cc \
- 004-ReferenceMap/stack_walk_refmap_jni.cc \
- 004-StackWalk/stack_walk_jni.cc \
- 004-ThreadStress/thread_stress.cc \
- 004-UnsafeTest/unsafe_test.cc \
- 044-proxy/native_proxy.cc \
- 051-thread/thread_test.cc \
- 117-nopatchoat/nopatchoat.cc \
- 1337-gc-coverage/gc_coverage.cc \
- 136-daemon-jni-shutdown/daemon_jni_shutdown.cc \
- 137-cfi/cfi.cc \
- 139-register-natives/regnative.cc \
- 141-class-unload/jni_unload.cc \
- 148-multithread-gc-annotations/gc_coverage.cc \
- 149-suspend-all-stress/suspend_all.cc \
- 454-get-vreg/get_vreg_jni.cc \
- 457-regs/regs_jni.cc \
- 461-get-reference-vreg/get_reference_vreg_jni.cc \
- 466-get-live-vreg/get_live_vreg_jni.cc \
- 497-inlining-and-class-loader/clear_dex_cache.cc \
- 543-env-long-ref/env_long_ref.cc \
- 566-polymorphic-inlining/polymorphic_inline.cc \
- 570-checker-osr/osr.cc \
- 595-profile-saving/profile-saving.cc \
- 596-app-images/app_images.cc \
- 597-deopt-new-string/deopt.cc
-
-ART_TARGET_LIBARTTEST_$(ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttest.so
-ART_TARGET_LIBARTTEST_$(ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttestd.so
-ifdef TARGET_2ND_ARCH
- ART_TARGET_LIBARTTEST_$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libarttest.so
- ART_TARGET_LIBARTTEST_$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libarttestd.so
-endif
-
-# $(1): target or host
-define build-libarttest
- ifneq ($(1),target)
- ifneq ($(1),host)
- $$(error expected target or host for argument 1, received $(1))
- endif
- endif
- ifneq ($(2),debug)
- ifneq ($(2),)
- $$(error d or empty for argument 2, received $(2))
- endif
- suffix := d
- else
- suffix :=
- endif
-
- art_target_or_host := $(1)
-
- include $(CLEAR_VARS)
- LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
- LOCAL_MODULE := libarttest$$(suffix)
- ifeq ($$(art_target_or_host),target)
- LOCAL_MODULE_TAGS := tests
- endif
- LOCAL_SRC_FILES := $(LIBARTTEST_COMMON_SRC_FILES)
- LOCAL_SHARED_LIBRARIES += libart$$(suffix) libbacktrace libnativehelper
- LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime
- LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_build.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.libarttest.mk
- ifeq ($$(art_target_or_host),target)
- LOCAL_CLANG := $(ART_TARGET_CLANG)
- ifeq ($$(suffix),d)
- $(call set-target-local-cflags-vars,debug)
- else
- $(call set-target-local-cflags-vars,ndebug)
- endif
- LOCAL_SHARED_LIBRARIES += libdl
- LOCAL_MULTILIB := both
- LOCAL_MODULE_PATH_32 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_32)
- LOCAL_MODULE_PATH_64 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_64)
- LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH)
- include $(BUILD_SHARED_LIBRARY)
- else # host
- LOCAL_CLANG := $(ART_HOST_CLANG)
- LOCAL_CFLAGS := $(ART_HOST_CFLAGS)
- LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS)
- ifeq ($$(suffix),d)
- LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS)
- LOCAL_ASFLAGS += $(ART_HOST_DEBUG_ASFLAGS)
- else
- LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS)
- LOCAL_ASFLAGS += $(ART_HOST_NON_DEBUG_ASFLAGS)
- endif
- LOCAL_LDLIBS := -ldl -lpthread
- LOCAL_IS_HOST_MODULE := true
- LOCAL_MULTILIB := both
- include $(BUILD_HOST_SHARED_LIBRARY)
- endif
-
- # Clear locally used variables.
- art_target_or_host :=
- suffix :=
-endef
-
-ifeq ($(ART_BUILD_TARGET),true)
- $(eval $(call build-libarttest,target,))
- $(eval $(call build-libarttest,target,debug))
-endif
-ifeq ($(ART_BUILD_HOST),true)
- $(eval $(call build-libarttest,host,))
- $(eval $(call build-libarttest,host,debug))
-endif
-
-# Clear locally used variables.
-LOCAL_PATH :=
-LIBARTTEST_COMMON_SRC_FILES :=
diff --git a/test/Android.libnativebridgetest.mk b/test/Android.libnativebridgetest.mk
deleted file mode 100644
index aa83016..0000000
--- a/test/Android.libnativebridgetest.mk
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include art/build/Android.common_build.mk
-
-LIBNATIVEBRIDGETEST_COMMON_SRC_FILES := \
- 115-native-bridge/nativebridge.cc
-
-ART_TARGET_LIBNATIVEBRIDGETEST_$(ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libnativebridgetest.so
-ifdef TARGET_2ND_ARCH
- ART_TARGET_LIBNATIVEBRIDGETEST_$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libnativebridgetest.so
-endif
-
-# $(1): target or host
-define build-libnativebridgetest
- ifneq ($(1),target)
- ifneq ($(1),host)
- $$(error expected target or host for argument 1, received $(1))
- endif
- endif
-
- art_target_or_host := $(1)
-
- include $(CLEAR_VARS)
- LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
- LOCAL_MODULE := libnativebridgetest
- ifeq ($$(art_target_or_host),target)
- LOCAL_MODULE_TAGS := tests
- endif
- LOCAL_SRC_FILES := $(LIBNATIVEBRIDGETEST_COMMON_SRC_FILES)
- LOCAL_SHARED_LIBRARIES += libartd
- LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime
- LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_build.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.libnativebridgetest.mk
- ifeq ($$(art_target_or_host),target)
- LOCAL_CLANG := $(ART_TARGET_CLANG)
- $(call set-target-local-cflags-vars,debug)
- LOCAL_SHARED_LIBRARIES += libdl
- LOCAL_STATIC_LIBRARIES := libgtest
- LOCAL_MULTILIB := both
- LOCAL_MODULE_PATH_32 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_32)
- LOCAL_MODULE_PATH_64 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_64)
- LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH)
- include $(BUILD_SHARED_LIBRARY)
- else # host
- LOCAL_CLANG := $(ART_HOST_CLANG)
- LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS)
- LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS) $(ART_HOST_DEBUG_ASFLAGS)
- LOCAL_SHARED_LIBRARIES += libcutils
- LOCAL_LDLIBS := -ldl -lpthread
- ifeq ($(HOST_OS),linux)
- LOCAL_LDLIBS += -lrt
- endif
- LOCAL_IS_HOST_MODULE := true
- LOCAL_MULTILIB := both
- include $(BUILD_HOST_SHARED_LIBRARY)
- endif
-
- # Clear locally used variables.
- art_target_or_host :=
-endef
-
-ifeq ($(ART_BUILD_TARGET),true)
- $(eval $(call build-libnativebridgetest,target))
-endif
-ifeq ($(ART_BUILD_HOST),true)
- $(eval $(call build-libnativebridgetest,host))
-endif
-
-# Clear locally used variables.
-LOCAL_PATH :=
-LIBNATIVEBRIDGETEST_COMMON_SRC_FILES :=
diff --git a/test/Android.libtiagent.mk b/test/Android.libtiagent.mk
deleted file mode 100644
index 626dc3b..0000000
--- a/test/Android.libtiagent.mk
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-
-LOCAL_PATH := $(call my-dir)
-
-include art/build/Android.common_build.mk
-
-LIBARTAGENT_COMMON_SRC_FILES := \
- ti-agent/common_load.cc \
- 901-hello-ti-agent/basics.cc
-
-# $(1): target or host
-# $(2): debug or <empty>
-define build-libtiagent
- ifneq ($(1),target)
- ifneq ($(1),host)
- $$(error expected target or host for argument 1, received $(1))
- endif
- endif
- ifneq ($(2),debug)
- ifneq ($(2),)
- $$(error d or empty for argument 2, received $(2))
- endif
- suffix := d
- else
- suffix :=
- endif
-
- art_target_or_host := $(1)
-
- include $(CLEAR_VARS)
- LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
- LOCAL_MODULE := libtiagent$$(suffix)
- ifeq ($$(art_target_or_host),target)
- LOCAL_MODULE_TAGS := tests
- endif
- LOCAL_SRC_FILES := $(LIBARTAGENT_COMMON_SRC_FILES)
- LOCAL_SHARED_LIBRARIES += libart$$(suffix) libbacktrace libnativehelper libopenjdkjvmti$$(suffix)
- LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime art/test
- LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_build.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.libtiagent.mk
- ifeq ($$(art_target_or_host),target)
- $(call set-target-local-clang-vars)
- ifeq ($$(suffix),d)
- $(call set-target-local-cflags-vars,debug)
- else
- $(call set-target-local-cflags-vars,ndebug)
- endif
- LOCAL_SHARED_LIBRARIES += libdl
- LOCAL_MULTILIB := both
- LOCAL_MODULE_PATH_32 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_32)
- LOCAL_MODULE_PATH_64 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_64)
- LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH)
- include $(BUILD_SHARED_LIBRARY)
- else # host
- LOCAL_CLANG := $(ART_HOST_CLANG)
- LOCAL_CFLAGS := $(ART_HOST_CFLAGS)
- LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS)
- ifeq ($$(suffix),d)
- LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS)
- LOCAL_ASFLAGS += $(ART_HOST_DEBUG_ASFLAGS)
- else
- LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS)
- LOCAL_ASFLAGS += $(ART_HOST_NON_DEBUG_ASFLAGS)
- endif
- LOCAL_LDLIBS := $(ART_HOST_LDLIBS) -ldl -lpthread
- LOCAL_IS_HOST_MODULE := true
- LOCAL_MULTILIB := both
- include $(BUILD_HOST_SHARED_LIBRARY)
- endif
-
- # Clear locally used variables.
- art_target_or_host :=
- suffix :=
-endef
-
-ifeq ($(ART_BUILD_TARGET),true)
- $(eval $(call build-libtiagent,target,))
- $(eval $(call build-libtiagent,target,debug))
-endif
-ifeq ($(ART_BUILD_HOST),true)
- $(eval $(call build-libtiagent,host,))
- $(eval $(call build-libtiagent,host,debug))
-endif
-
-# Clear locally used variables.
-LOCAL_PATH :=
-LIBARTAGENT_COMMON_SRC_FILES :=
diff --git a/test/Android.run-test.mk b/test/Android.run-test.mk
index e12fd28..5301a03 100644
--- a/test/Android.run-test.mk
+++ b/test/Android.run-test.mk
@@ -685,59 +685,59 @@
TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_EXECUTABLES) $(TARGET_CORE_IMG_OUTS)
# Also need libartagent.
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libartagent.so
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libartagentd.so
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_ARCH)_libartagent)
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_ARCH)_libartagentd)
ifdef TARGET_2ND_ARCH
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libartagent.so
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libartagentd.so
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_2ND_ARCH)_libartagent)
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_2ND_ARCH)_libartagentd)
endif
# Also need libtiagent.
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libtiagent.so
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libtiagentd.so
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_ARCH)_libtiagent)
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_ARCH)_libtiagentd)
ifdef TARGET_2ND_ARCH
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libtiagent.so
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libtiagentd.so
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_2ND_ARCH)_libtiagent)
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_2ND_ARCH)_libtiagentd)
endif
# Also need libarttest.
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttest.so
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttestd.so
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_ARCH)_libarttest)
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_ARCH)_libarttestd)
ifdef TARGET_2ND_ARCH
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libarttest.so
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libarttestd.so
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_2ND_ARCH)_libarttest)
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_2ND_ARCH)_libarttestd)
endif
# Also need libnativebridgetest.
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libnativebridgetest.so
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_ARCH)_libnativebridgetest)
ifdef TARGET_2ND_ARCH
-TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libnativebridgetest.so
+TEST_ART_TARGET_SYNC_DEPS += $(OUT_DIR)/$(ART_TEST_LIST_device_$(TARGET_2ND_ARCH)_libnativebridgetest)
endif
# All tests require the host executables. The tests also depend on the core images, but on
# specific version depending on the compiler.
ART_TEST_HOST_RUN_TEST_DEPENDENCIES := \
$(ART_HOST_EXECUTABLES) \
- $(ART_HOST_OUT_SHARED_LIBRARIES)/libtiagent$(ART_HOST_SHLIB_EXTENSION) \
- $(ART_HOST_OUT_SHARED_LIBRARIES)/libtiagentd$(ART_HOST_SHLIB_EXTENSION) \
- $(ART_HOST_OUT_SHARED_LIBRARIES)/libartagent$(ART_HOST_SHLIB_EXTENSION) \
- $(ART_HOST_OUT_SHARED_LIBRARIES)/libartagentd$(ART_HOST_SHLIB_EXTENSION) \
- $(ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \
- $(ART_HOST_OUT_SHARED_LIBRARIES)/libarttestd$(ART_HOST_SHLIB_EXTENSION) \
- $(ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtiagent) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtiagentd) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libartagent) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libartagentd) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libarttest) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libarttestd) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libnativebridgetest) \
$(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
$(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdk$(ART_HOST_SHLIB_EXTENSION) \
$(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkd$(ART_HOST_SHLIB_EXTENSION)
ifneq ($(HOST_PREFER_32_BIT),true)
ART_TEST_HOST_RUN_TEST_DEPENDENCIES += \
- $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libtiagent$(ART_HOST_SHLIB_EXTENSION) \
- $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libtiagentd$(ART_HOST_SHLIB_EXTENSION) \
- $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libartagent$(ART_HOST_SHLIB_EXTENSION) \
- $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libartagentd$(ART_HOST_SHLIB_EXTENSION) \
- $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \
- $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libarttestd$(ART_HOST_SHLIB_EXTENSION) \
- $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtiagent) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtiagentd) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libartagent) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libartagentd) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libarttest) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libarttestd) \
+ $(OUT_DIR)/$(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libnativebridgetest) \
$(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
$(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdk$(ART_HOST_SHLIB_EXTENSION) \
$(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkd$(ART_HOST_SHLIB_EXTENSION)
@@ -1152,10 +1152,4 @@
RUN_TYPES :=
DEBUGGABLE_TYPES :=
-MY_LOCAL_PATH := $(LOCAL_PATH)
-include $(MY_LOCAL_PATH)/Android.libartagent.mk
-include $(MY_LOCAL_PATH)/Android.libtiagent.mk
-include $(MY_LOCAL_PATH)/Android.libarttest.mk
-include $(MY_LOCAL_PATH)/Android.libnativebridgetest.mk
-MY_LOCAL_PATH :=
LOCAL_PATH :=
diff --git a/test/etc/run-test-jar b/test/etc/run-test-jar
index d12bd79..a0e99d8 100755
--- a/test/etc/run-test-jar
+++ b/test/etc/run-test-jar
@@ -32,6 +32,7 @@
INVOKE_WITH=""
ISA=x86
LIBRARY_DIRECTORY="lib"
+TEST_DIRECTORY="nativetest"
MAIN=""
OPTIMIZE="y"
PATCHOAT=""
@@ -220,6 +221,7 @@
GDB_SERVER="gdbserver64"
DALVIKVM="dalvikvm64"
LIBRARY_DIRECTORY="lib64"
+ TEST_DIRECTORY="nativetest64"
ARCHITECTURES_PATTERN="${ARCHITECTURES_64}"
shift
elif [ "x$1" = "x--pic-test" ]; then
@@ -479,7 +481,7 @@
adb push $TEST_NAME-ex.jar $DEX_LOCATION >/dev/null 2>&1
fi
- LD_LIBRARY_PATH=/data/art-test/$ISA
+ LD_LIBRARY_PATH=/data/$TEST_DIRECTORY/art/$ISA
if [ "$ANDROID_ROOT" != "/system" ]; then
# Current default installation is dalvikvm 64bits and dex2oat 32bits,
# so we can only use LD_LIBRARY_PATH when testing on a local
@@ -533,8 +535,8 @@
export ANDROID_DATA="$DEX_LOCATION"
export ANDROID_ROOT="${ANDROID_ROOT}"
- export LD_LIBRARY_PATH="${ANDROID_ROOT}/lib"
- export DYLD_LIBRARY_PATH="${ANDROID_ROOT}/lib"
+ export LD_LIBRARY_PATH="${ANDROID_ROOT}/${LIBRARY_DIRECTORY}:${ANDROID_ROOT}/${TEST_DIRECTORY}"
+ export DYLD_LIBRARY_PATH="${ANDROID_ROOT}/${LIBRARY_DIRECTORY}:${ANDROID_ROOT}/${TEST_DIRECTORY}"
export PATH="$PATH:${ANDROID_ROOT}/bin"
# Temporarily disable address space layout randomization (ASLR).
diff --git a/test/run-test b/test/run-test
index 8fb2adf..aea6435 100755
--- a/test/run-test
+++ b/test/run-test
@@ -469,10 +469,10 @@
if [ "$target_mode" = "no" ]; then
guess_host_arch_name
run_args="${run_args} --boot ${ANDROID_HOST_OUT}/framework/core${image_suffix}${pic_image_suffix}${multi_image_suffix}.art"
- run_args="${run_args} --runtime-option -Djava.library.path=${ANDROID_HOST_OUT}/lib${suffix64}"
+ run_args="${run_args} --runtime-option -Djava.library.path=${ANDROID_HOST_OUT}/lib${suffix64}:${ANDROID_HOST_OUT}/nativetest${suffix64}"
else
guess_target_arch_name
- run_args="${run_args} --runtime-option -Djava.library.path=/data/art-test/${target_arch_name}:/system/lib${suffix64}"
+ run_args="${run_args} --runtime-option -Djava.library.path=/data/nativetest${suffix64}/art/${target_arch_name}:/system/lib${suffix64}"
run_args="${run_args} --boot /data/art-test/core${image_suffix}${pic_image_suffix}${multi_image_suffix}.art"
fi
if [ "$relocate" = "yes" ]; then