summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/Android.common_test.mk45
-rw-r--r--build/Android.gtest.mk255
-rwxr-xr-xbuild/apex/art_apex_test.py61
-rw-r--r--compiler/Android.bp5
-rw-r--r--dex2oat/Android.bp25
-rw-r--r--dexlayout/Android.bp3
-rw-r--r--dexoptanalyzer/Android.bp11
-rw-r--r--libartbase/base/common_art_test.cc23
-rw-r--r--libdexfile/Android.bp7
-rw-r--r--libprofile/Android.bp5
-rw-r--r--oatdump/Android.bp5
-rw-r--r--profman/Android.bp3
-rw-r--r--runtime/Android.bp44
-rw-r--r--runtime/runtime_callbacks_test.cc6
-rw-r--r--test/Android.bp8
-rw-r--r--test/gtests-target.xml327
-rw-r--r--tools/dexanalyze/Android.bp3
-rw-r--r--tools/hiddenapi/Android.bp4
18 files changed, 199 insertions, 641 deletions
diff --git a/build/Android.common_test.mk b/build/Android.common_test.mk
index 102c1a966a..3a557b6d65 100644
--- a/build/Android.common_test.mk
+++ b/build/Android.common_test.mk
@@ -105,49 +105,4 @@ define ART_TEST_SKIP
|| $(call ART_TEST_ANNOUNCE_SKIP_BROKEN,$(1)) ) && false))
endef
-# Create a build rule to create the dex file for a test.
-# $(1): module prefix, e.g. art-test-dex
-# $(2): input test directory in art/test, e.g. HelloWorld
-# $(3): target output module path (default module path is used on host)
-# $(4): additional dependencies
-# $(5): a make variable used to collate target dependencies, e.g ART_TEST_TARGET_OAT_HelloWorld_DEX
-# $(6): a make variable used to collate host dependencies, e.g ART_TEST_HOST_OAT_HelloWorld_DEX
-#
-# If the input test directory contains a file called main.list,
-# then a multi-dex file is created passing main.list as the --main-dex-list
-# argument to dx.
-define build-art-test-dex
- ifeq ($(ART_BUILD_TARGET),true)
- include $(CLEAR_VARS)
- LOCAL_MODULE := $(1)-$(2)
- LOCAL_SRC_FILES := $(call all-java-files-under, $(2))
- LOCAL_NO_STANDARD_LIBRARIES := true
- LOCAL_DEX_PREOPT := false
- LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_test.mk $(4)
- LOCAL_MODULE_TAGS := tests
- LOCAL_MODULE_PATH := $(3)
- ifneq ($(wildcard $(LOCAL_PATH)/$(2)/main.list),)
- LOCAL_MIN_SDK_VERSION := 19
- LOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(LOCAL_PATH)/$(2)/main.list --minimal-main-dex
- endif
- include $(BUILD_JAVA_LIBRARY)
- $(5) := $$(LOCAL_INSTALLED_MODULE)
- endif
- ifeq ($(ART_BUILD_HOST),true)
- include $(CLEAR_VARS)
- LOCAL_MODULE := $(1)-$(2)
- LOCAL_SRC_FILES := $(call all-java-files-under, $(2))
- LOCAL_NO_STANDARD_LIBRARIES := true
- LOCAL_DEX_PREOPT := false
- LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_test.mk $(4)
- LOCAL_JAVA_LIBRARIES := $(addsuffix -hostdex,$(CORE_IMG_JARS))
- ifneq ($(wildcard $(LOCAL_PATH)/$(2)/main.list),)
- LOCAL_MIN_SDK_VERSION := 19
- LOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(LOCAL_PATH)/$(2)/main.list --minimal-main-dex
- endif
- include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
- $(6) := $$(LOCAL_INSTALLED_MODULE)
- endif
-endef
-
endif # ART_ANDROID_COMMON_TEST_MK
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 2397a09fdd..dc5015f661 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -24,239 +24,6 @@ include art/build/Android.common_test.mk
include art/build/Android.common_path.mk
include art/build/Android.common_build.mk
-# Subdirectories in art/test which contain dex files used as inputs for gtests.
-GTEST_DEX_DIRECTORIES := \
- AbstractMethod \
- AllFields \
- DefaultMethods \
- DexToDexDecompiler \
- ErroneousA \
- ErroneousB \
- ErroneousInit \
- Extension1 \
- Extension2 \
- ForClassLoaderA \
- ForClassLoaderB \
- ForClassLoaderC \
- ForClassLoaderD \
- ExceptionHandle \
- GetMethodSignature \
- HiddenApi \
- HiddenApiSignatures \
- HiddenApiStubs \
- ImageLayoutA \
- ImageLayoutB \
- IMTA \
- IMTB \
- Instrumentation \
- Interfaces \
- Lookup \
- Main \
- ManyMethods \
- MethodTypes \
- MultiDex \
- MultiDexModifiedSecondary \
- MyClass \
- MyClassNatives \
- Nested \
- NonStaticLeafMethods \
- Packages \
- ProtoCompare \
- ProtoCompare2 \
- ProfileTestMultiDex \
- StaticLeafMethods \
- Statics \
- StaticsFromCode \
- StringLiterals \
- Transaction \
- XandY
-
-# Create build rules for each dex file recording the dependency.
-$(foreach dir,$(GTEST_DEX_DIRECTORIES), $(eval $(call build-art-test-dex,art-gtest,$(dir), \
- $(ART_TARGET_NATIVETEST_OUT),art/build/Android.gtest.mk,ART_TEST_TARGET_GTEST_$(dir)_DEX, \
- ART_TEST_HOST_GTEST_$(dir)_DEX)))
-
-# Create rules for MainStripped, a copy of Main with the classes.dex stripped
-# for the oat file assistant tests.
-ART_TEST_HOST_GTEST_MainStripped_DEX := $(basename $(ART_TEST_HOST_GTEST_Main_DEX))Stripped$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
-ART_TEST_TARGET_GTEST_MainStripped_DEX := $(basename $(ART_TEST_TARGET_GTEST_Main_DEX))Stripped$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
-
-# Create rules for MainUncompressedAligned, a copy of Main with the classes.dex uncompressed
-# for the dex2oat tests.
-ART_TEST_HOST_GTEST_MainUncompressedAligned_DEX := $(basename $(ART_TEST_HOST_GTEST_Main_DEX))UncompressedAligned$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
-ART_TEST_TARGET_GTEST_MainUncompressedAligned_DEX := $(basename $(ART_TEST_TARGET_GTEST_Main_DEX))UncompressedAligned$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
-
-# Create rules for UncompressedEmpty, a classes.dex that is empty and uncompressed
-# for the dex2oat tests.
-ART_TEST_HOST_GTEST_EmptyUncompressed_DEX := $(basename $(ART_TEST_HOST_GTEST_Main_DEX))EmptyUncompressed$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
-ART_TEST_TARGET_GTEST_EmptyUncompressed_DEX := $(basename $(ART_TEST_TARGET_GTEST_Main_DEX))EmptyUncompressed$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
-
-# Create rules for UncompressedEmptyAligned, a classes.dex that is empty, uncompressed,
-# and 4 byte aligned for the dex2oat tests.
-ART_TEST_HOST_GTEST_EmptyUncompressedAligned_DEX := $(basename $(ART_TEST_HOST_GTEST_Main_DEX))EmptyUncompressedAligned$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
-ART_TEST_TARGET_GTEST_EmptyUncompressedAligned_DEX := $(basename $(ART_TEST_TARGET_GTEST_Main_DEX))EmptyUncompressedAligned$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
-
-# Create rules for MultiDexUncompressedAligned, a copy of MultiDex with the classes.dex uncompressed
-# for the OatFile tests.
-ART_TEST_HOST_GTEST_MultiDexUncompressedAligned_DEX := $(basename $(ART_TEST_HOST_GTEST_MultiDex_DEX))UncompressedAligned$(suffix $(ART_TEST_HOST_GTEST_MultiDex_DEX))
-ART_TEST_TARGET_GTEST_MultiDexUncompressedAligned_DEX := $(basename $(ART_TEST_TARGET_GTEST_MultiDex_DEX))UncompressedAligned$(suffix $(ART_TEST_TARGET_GTEST_MultiDex_DEX))
-
-ifdef ART_TEST_HOST_GTEST_Main_DEX
-$(ART_TEST_HOST_GTEST_MainStripped_DEX): $(ART_TEST_HOST_GTEST_Main_DEX)
- cp $< $@
- $(call dexpreopt-remove-classes.dex,$@)
-endif
-
-ifdef ART_TEST_TARGET_GTEST_Main_DEX
-$(ART_TEST_TARGET_GTEST_MainStripped_DEX): $(ART_TEST_TARGET_GTEST_Main_DEX)
- cp $< $@
- $(call dexpreopt-remove-classes.dex,$@)
-endif
-
-ifdef ART_TEST_HOST_GTEST_Main_DEX
-$(ART_TEST_HOST_GTEST_MainUncompressedAligned_DEX): $(ART_TEST_HOST_GTEST_Main_DEX) $(ZIPALIGN)
- cp $< $@
- $(call uncompress-dexs, $@)
- $(call align-package, $@)
-endif
-
-ifdef ART_TEST_TARGET_GTEST_Main_DEX
-$(ART_TEST_TARGET_GTEST_MainUncompressedAligned_DEX): $(ART_TEST_TARGET_GTEST_Main_DEX) $(ZIPALIGN)
- cp $< $@
- $(call uncompress-dexs, $@)
- $(call align-package, $@)
-endif
-
-ifdef ART_TEST_HOST_GTEST_Main_DEX
-$(ART_TEST_HOST_GTEST_EmptyUncompressed_DEX):
- touch $@_classes.dex
- zip -j -qD -X -0 $@ $@_classes.dex
- rm $@_classes.dex
-endif
-
-ifdef ART_TEST_TARGET_GTEST_Main_DEX
-$(ART_TEST_TARGET_GTEST_EmptyUncompressed_DEX):
- touch $@_classes.dex
- zip -j -qD -X -0 $@ $@_classes.dex
- rm $@_classes.dex
-endif
-
-ifdef ART_TEST_HOST_GTEST_Main_DEX
-$(ART_TEST_HOST_GTEST_EmptyUncompressedAligned_DEX): $(ZIPALIGN)
- touch $@_classes.dex
- zip -j -0 $@_temp.zip $@_classes.dex
- $(ZIPALIGN) -f 4 $@_temp.zip $@
- rm $@_classes.dex
- rm $@_temp.zip
-endif
-
-ifdef ART_TEST_TARGET_GTEST_Main_DEX
-$(ART_TEST_TARGET_GTEST_EmptyUncompressedAligned_DEX): $(ZIPALIGN)
- touch $@_classes.dex
- zip -j -0 $@_temp.zip $@_classes.dex
- $(ZIPALIGN) -f 4 $@_temp.zip $@
- rm $@_classes.dex
- rm $@_temp.zip
-endif
-
-ifdef ART_TEST_HOST_GTEST_MultiDex_DEX
-$(ART_TEST_HOST_GTEST_MultiDexUncompressedAligned_DEX): $(ART_TEST_HOST_GTEST_MultiDex_DEX) $(ZIPALIGN)
- cp $< $@
- $(call uncompress-dexs, $@)
- $(call align-package, $@)
-endif
-
-ifdef ART_TEST_TARGET_GTEST_MultiDex_DEX
-$(ART_TEST_TARGET_GTEST_MultiDexUncompressedAligned_DEX): $(ART_TEST_TARGET_GTEST_MultiDex_DEX) $(ZIPALIGN)
- cp $< $@
- $(call uncompress-dexs, $@)
- $(call align-package, $@)
-endif
-
-ART_TEST_GTEST_VerifierDeps_SRC := $(abspath $(wildcard $(LOCAL_PATH)/VerifierDeps/*.smali))
-ART_TEST_GTEST_VerifierDepsMulti_SRC := $(abspath $(wildcard $(LOCAL_PATH)/VerifierDepsMulti/*.smali))
-ART_TEST_HOST_GTEST_VerifierDeps_DEX := $(dir $(ART_TEST_HOST_GTEST_Main_DEX))$(subst Main,VerifierDeps,$(basename $(notdir $(ART_TEST_HOST_GTEST_Main_DEX))))$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
-ART_TEST_TARGET_GTEST_VerifierDeps_DEX := $(dir $(ART_TEST_TARGET_GTEST_Main_DEX))$(subst Main,VerifierDeps,$(basename $(notdir $(ART_TEST_TARGET_GTEST_Main_DEX))))$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
-ART_TEST_HOST_GTEST_VerifierDepsMulti_DEX := $(dir $(ART_TEST_HOST_GTEST_Main_DEX))$(subst Main,VerifierDepsMulti,$(basename $(notdir $(ART_TEST_HOST_GTEST_Main_DEX))))$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
-ART_TEST_TARGET_GTEST_VerifierDepsMulti_DEX := $(dir $(ART_TEST_TARGET_GTEST_Main_DEX))$(subst Main,VerifierDepsMulti,$(basename $(notdir $(ART_TEST_TARGET_GTEST_Main_DEX))))$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
-
-$(ART_TEST_HOST_GTEST_VerifierDeps_DEX): $(ART_TEST_GTEST_VerifierDeps_SRC) $(HOST_OUT_EXECUTABLES)/smali
- $(HOST_OUT_EXECUTABLES)/smali assemble --output $@ $(filter %.smali,$^)
-
-$(ART_TEST_TARGET_GTEST_VerifierDeps_DEX): $(ART_TEST_GTEST_VerifierDeps_SRC) $(HOST_OUT_EXECUTABLES)/smali
- $(HOST_OUT_EXECUTABLES)/smali assemble --output $@ $(filter %.smali,$^)
-
-$(ART_TEST_HOST_GTEST_VerifierDepsMulti_DEX): $(ART_TEST_GTEST_VerifierDepsMulti_SRC) $(HOST_OUT_EXECUTABLES)/smali
- $(HOST_OUT_EXECUTABLES)/smali assemble --output $@ $(filter %.smali,$^)
-
-$(ART_TEST_TARGET_GTEST_VerifierDepsMulti_DEX): $(ART_TEST_GTEST_VerifierDepsMulti_SRC) $(HOST_OUT_EXECUTABLES)/smali
- $(HOST_OUT_EXECUTABLES)/smali assemble --output $@ $(filter %.smali,$^)
-
-ART_TEST_GTEST_VerifySoftFailDuringClinit_SRC := $(abspath $(wildcard $(LOCAL_PATH)/VerifySoftFailDuringClinit/*.smali))
-ART_TEST_HOST_GTEST_VerifySoftFailDuringClinit_DEX := $(dir $(ART_TEST_HOST_GTEST_Main_DEX))$(subst Main,VerifySoftFailDuringClinit,$(basename $(notdir $(ART_TEST_HOST_GTEST_Main_DEX))))$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
-ART_TEST_TARGET_GTEST_VerifySoftFailDuringClinit_DEX := $(dir $(ART_TEST_TARGET_GTEST_Main_DEX))$(subst Main,VerifySoftFailDuringClinit,$(basename $(notdir $(ART_TEST_TARGET_GTEST_Main_DEX))))$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
-
-$(ART_TEST_HOST_GTEST_VerifySoftFailDuringClinit_DEX): $(ART_TEST_GTEST_VerifySoftFailDuringClinit_SRC) $(HOST_OUT_EXECUTABLES)/smali
- $(HOST_OUT_EXECUTABLES)/smali assemble --output $@ $(filter %.smali,$^)
-
-$(ART_TEST_TARGET_GTEST_VerifySoftFailDuringClinit_DEX): $(ART_TEST_GTEST_VerifySoftFailDuringClinit_SRC) $(HOST_OUT_EXECUTABLES)/smali
- $(HOST_OUT_EXECUTABLES)/smali assemble --output $@ $(filter %.smali,$^)
-
-# Linkage test artifacts.
-ART_TEST_GTEST_LinkageTest_SRC := $(abspath $(wildcard $(LOCAL_PATH)/LinkageTest/*.smali))
-ART_TEST_HOST_GTEST_LinkageTest_DEX := $(dir $(ART_TEST_HOST_GTEST_Main_DEX))$(subst Main,LinkageTest,$(basename $(notdir $(ART_TEST_HOST_GTEST_Main_DEX))))$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
-$(ART_TEST_HOST_GTEST_LinkageTest_DEX): $(ART_TEST_GTEST_LinkageTest_SRC) $(HOST_OUT_EXECUTABLES)/smali
- $(HOST_OUT_EXECUTABLES)/smali assemble --output $@ $(filter %.smali,$^)
-
-# Dex file dependencies for each gtest.
-ART_GTEST_art_dex_file_loader_test_DEX_DEPS := GetMethodSignature Main Nested MultiDex
-ART_GTEST_dex2oat_environment_tests_DEX_DEPS := Main MainStripped MultiDex MultiDexModifiedSecondary MyClassNatives Nested VerifierDeps VerifierDepsMulti LinkageTest
-
-ART_GTEST_atomic_dex_ref_map_test_DEX_DEPS := Interfaces
-ART_GTEST_class_linker_test_DEX_DEPS := AllFields ErroneousA ErroneousB ErroneousInit ForClassLoaderA ForClassLoaderB ForClassLoaderC ForClassLoaderD Interfaces MethodTypes MultiDex MyClass Nested Statics StaticsFromCode
-ART_GTEST_class_loader_context_test_DEX_DEPS := Main MultiDex MyClass ForClassLoaderA ForClassLoaderB ForClassLoaderC ForClassLoaderD
-ART_GTEST_class_table_test_DEX_DEPS := XandY
-ART_GTEST_compiler_driver_test_DEX_DEPS := AbstractMethod StaticLeafMethods ProfileTestMultiDex
-ART_GTEST_dex_cache_test_DEX_DEPS := Main Packages MethodTypes
-ART_GTEST_dexanalyze_test_DEX_DEPS := MultiDex
-ART_GTEST_dexlayout_test_DEX_DEPS := ManyMethods
-ART_GTEST_dex2oat_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS) ManyMethods Statics VerifierDeps MainUncompressedAligned EmptyUncompressed EmptyUncompressedAligned StringLiterals
-ART_GTEST_dex2oat_image_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS) Statics VerifierDeps
-ART_GTEST_exception_test_DEX_DEPS := ExceptionHandle
-ART_GTEST_hiddenapi_test_DEX_DEPS := HiddenApi HiddenApiStubs
-ART_GTEST_hidden_api_test_DEX_DEPS := HiddenApiSignatures Main MultiDex
-ART_GTEST_image_test_DEX_DEPS := ImageLayoutA ImageLayoutB DefaultMethods VerifySoftFailDuringClinit
-ART_GTEST_imtable_test_DEX_DEPS := IMTA IMTB
-ART_GTEST_instrumentation_test_DEX_DEPS := Instrumentation
-ART_GTEST_jni_compiler_test_DEX_DEPS := MyClassNatives
-ART_GTEST_jni_internal_test_DEX_DEPS := AllFields StaticLeafMethods MyClassNatives
-ART_GTEST_oat_file_assistant_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS)
-ART_GTEST_dexoptanalyzer_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS)
-ART_GTEST_image_space_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS) Extension1 Extension2
-ART_GTEST_oat_file_test_DEX_DEPS := Main MultiDex MainUncompressedAligned MultiDexUncompressedAligned MainStripped Nested MultiDexModifiedSecondary
-ART_GTEST_oat_test_DEX_DEPS := Main
-ART_GTEST_oat_writer_test_DEX_DEPS := Main
-# two_runtimes_test build off dex2oat_environment_test, which does sanity checks on the following dex files.
-ART_GTEST_two_runtimes_test_DEX_DEPS := Main MainStripped Nested MultiDex MultiDexModifiedSecondary
-ART_GTEST_object_test_DEX_DEPS := ProtoCompare ProtoCompare2 StaticsFromCode XandY
-ART_GTEST_proxy_test_DEX_DEPS := Interfaces
-ART_GTEST_reflection_test_DEX_DEPS := Main NonStaticLeafMethods StaticLeafMethods
-ART_GTEST_profile_assistant_test_DEX_DEPS := ProfileTestMultiDex
-ART_GTEST_profile_compilation_info_test_DEX_DEPS := ManyMethods ProfileTestMultiDex
-ART_GTEST_profile_boot_info_test_DEX_DEPS := ManyMethods ProfileTestMultiDex MultiDex
-ART_GTEST_profiling_info_test_DEX_DEPS := ProfileTestMultiDex
-ART_GTEST_runtime_callbacks_test_DEX_DEPS := XandY
-ART_GTEST_stub_test_DEX_DEPS := AllFields
-ART_GTEST_transaction_test_DEX_DEPS := Transaction
-ART_GTEST_type_lookup_table_test_DEX_DEPS := Lookup
-ART_GTEST_unstarted_runtime_test_DEX_DEPS := Nested
-ART_GTEST_heap_verification_test_DEX_DEPS := ProtoCompare ProtoCompare2 StaticsFromCode XandY
-ART_GTEST_verifier_deps_test_DEX_DEPS := VerifierDeps VerifierDepsMulti MultiDex
-ART_GTEST_dex_to_dex_decompiler_test_DEX_DEPS := VerifierDeps DexToDexDecompiler
-ART_GTEST_oatdump_app_test_DEX_DEPS := ProfileTestMultiDex
-ART_GTEST_oatdump_test_DEX_DEPS := ProfileTestMultiDex
-ART_GTEST_reg_type_test_DEX_DEPS := Interfaces
-
# Deprecated core.art dependencies.
HOST_CORE_IMAGE_DEFAULT_32 :=
HOST_CORE_IMAGE_DEFAULT_64 :=
@@ -439,26 +206,8 @@ endif
gtest_suffix :=
endef # define-art-gtest-rule-host
-# Global list of all dependencies. All tests depend on all tools.
-# Removal of test_per_src broke the naming convention for dependencies,
-# so the fine-grained dependencies no longer work for now.
-# TODO: Move all dependency tracking to the blueprint file.
-ART_GTEST_ALL_DEX_DEPS := \
- EmptyUncompressed \
- EmptyUncompressedAligned \
- LinkageTest \
- MainStripped \
- MainUncompressedAligned \
- MultiDexUncompressedAligned \
- VerifierDeps \
- VerifierDepsMulti \
- VerifySoftFailDuringClinit \
- $(foreach dir,$(GTEST_DEX_DIRECTORIES),$(dir))
-ART_TEST_HOST_GTEST_DEPENDENCIES += \
- $(foreach file,$(ART_GTEST_ALL_DEX_DEPS),$(ART_TEST_HOST_GTEST_$(file)_DEX))
-ART_TEST_TARGET_GTEST_DEPENDENCIES += \
- $(TESTING_ART_APEX) \
- $(foreach file,$(ART_GTEST_ALL_DEX_DEPS),$(ART_TEST_TARGET_GTEST_$(file)_DEX))
+ART_TEST_HOST_GTEST_DEPENDENCIES :=
+ART_TEST_TARGET_GTEST_DEPENDENCIES := $(TESTING_ART_APEX)
# Add the additional dependencies for the specified test
# $(1): test name
diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py
index 92505b4fee..7764c7c378 100755
--- a/build/apex/art_apex_test.py
+++ b/build/apex/art_apex_test.py
@@ -337,6 +337,14 @@ class Checker:
if not self._provider.get(test_path).is_exec:
self.fail('%s is not executable', test_path)
+ def check_art_test_data(self, filename):
+ dirs = self.arch_dirs_for_path(ART_TEST_DIR)
+ if not dirs:
+ self.fail('ART test data missing: %s', filename)
+ for dir in dirs:
+ if not self.check_file('%s/%s' % (dir, filename)):
+ return
+
def check_single_library(self, filename):
lib_path = 'lib/%s' % filename
lib64_path = 'lib64/%s' % filename
@@ -756,6 +764,59 @@ class TestingTargetChecker:
# Check ART test tools.
self._checker.check_executable('signal_dumper')
+ # Check ART jar files which are needed for gtests.
+ self._checker.check_art_test_data('art-gtest-jars-AbstractMethod.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MyClassNatives.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Main.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ProtoCompare.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Transaction.jar')
+ self._checker.check_art_test_data('art-gtest-jars-VerifierDepsMulti.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Nested.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MyClass.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ManyMethods.jar')
+ self._checker.check_art_test_data('art-gtest-jars-GetMethodSignature.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Lookup.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Instrumentation.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MainUncompressedAligned.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderD.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderC.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ErroneousA.jar')
+ self._checker.check_art_test_data('art-gtest-jars-DexToDexDecompiler.jar')
+ self._checker.check_art_test_data('art-gtest-jars-HiddenApiSignatures.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderB.jar')
+ self._checker.check_art_test_data('art-gtest-jars-LinkageTest.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MethodTypes.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ErroneousInit.jar')
+ self._checker.check_art_test_data('art-gtest-jars-VerifierDeps.jar')
+ self._checker.check_art_test_data('art-gtest-jars-StringLiterals.jar')
+ self._checker.check_art_test_data('art-gtest-jars-XandY.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ExceptionHandle.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ImageLayoutB.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Interfaces.jar')
+ self._checker.check_art_test_data('art-gtest-jars-IMTB.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Extension2.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Extension1.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MainEmptyUncompressedAligned.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ErroneousB.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MultiDexModifiedSecondary.jar')
+ self._checker.check_art_test_data('art-gtest-jars-NonStaticLeafMethods.jar')
+ self._checker.check_art_test_data('art-gtest-jars-DefaultMethods.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MultiDexUncompressedAligned.jar')
+ self._checker.check_art_test_data('art-gtest-jars-StaticsFromCode.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ProfileTestMultiDex.jar')
+ self._checker.check_art_test_data('art-gtest-jars-VerifySoftFailDuringClinit.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MainStripped.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderA.jar')
+ self._checker.check_art_test_data('art-gtest-jars-StaticLeafMethods.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MultiDex.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Packages.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ProtoCompare2.jar')
+ self._checker.check_art_test_data('art-gtest-jars-Statics.jar')
+ self._checker.check_art_test_data('art-gtest-jars-AllFields.jar')
+ self._checker.check_art_test_data('art-gtest-jars-IMTA.jar')
+ self._checker.check_art_test_data('art-gtest-jars-ImageLayoutA.jar')
+ self._checker.check_art_test_data('art-gtest-jars-MainEmptyUncompressed.jar')
+
class NoSuperfluousBinariesChecker:
def __init__(self, checker):
diff --git a/compiler/Android.bp b/compiler/Android.bp
index c503eabb1a..bd4cfce752 100644
--- a/compiler/Android.bp
+++ b/compiler/Android.bp
@@ -365,6 +365,11 @@ art_cc_test {
defaults: [
"art_gtest_defaults",
],
+ data: [
+ ":art-gtest-jars-ExceptionHandle",
+ ":art-gtest-jars-Interfaces",
+ ":art-gtest-jars-MyClassNatives",
+ ],
srcs: [
"debug/dwarf/dwarf_test.cc",
"debug/src_map_elem_test.cc",
diff --git a/dex2oat/Android.bp b/dex2oat/Android.bp
index 7fd1cc23ad..e3394fcb2f 100644
--- a/dex2oat/Android.bp
+++ b/dex2oat/Android.bp
@@ -423,6 +423,31 @@ art_cc_test {
defaults: [
"art_gtest_defaults",
],
+ data: [
+ ":art-gtest-jars-AbstractMethod",
+ ":art-gtest-jars-DefaultMethods",
+ ":art-gtest-jars-DexToDexDecompiler",
+ ":art-gtest-jars-ImageLayoutA",
+ ":art-gtest-jars-ImageLayoutB",
+ ":art-gtest-jars-LinkageTest",
+ ":art-gtest-jars-Main",
+ ":art-gtest-jars-MainEmptyUncompressed",
+ ":art-gtest-jars-MainEmptyUncompressedAligned",
+ ":art-gtest-jars-MainStripped",
+ ":art-gtest-jars-MainUncompressedAligned",
+ ":art-gtest-jars-ManyMethods",
+ ":art-gtest-jars-MultiDex",
+ ":art-gtest-jars-MultiDexModifiedSecondary",
+ ":art-gtest-jars-MyClassNatives",
+ ":art-gtest-jars-Nested",
+ ":art-gtest-jars-ProfileTestMultiDex",
+ ":art-gtest-jars-StaticLeafMethods",
+ ":art-gtest-jars-Statics",
+ ":art-gtest-jars-StringLiterals",
+ ":art-gtest-jars-VerifierDeps",
+ ":art-gtest-jars-VerifierDepsMulti",
+ ":art-gtest-jars-VerifySoftFailDuringClinit",
+ ],
srcs: [
"dex2oat_test.cc",
"dex2oat_image_test.cc",
diff --git a/dexlayout/Android.bp b/dexlayout/Android.bp
index 82fbf2b99b..31bee03f36 100644
--- a/dexlayout/Android.bp
+++ b/dexlayout/Android.bp
@@ -235,6 +235,9 @@ art_cc_test {
"libprofiled",
"libartd-dexlayout",
],
+ data: [
+ ":art-gtest-jars-ManyMethods",
+ ],
srcs: ["dexlayout_test.cc"],
required: [
"dexlayoutd",
diff --git a/dexoptanalyzer/Android.bp b/dexoptanalyzer/Android.bp
index a5a7cca161..f1bb456fb0 100644
--- a/dexoptanalyzer/Android.bp
+++ b/dexoptanalyzer/Android.bp
@@ -70,6 +70,17 @@ art_cc_test {
shared_libs: [
"libbacktrace",
],
+ data: [
+ ":art-gtest-jars-LinkageTest",
+ ":art-gtest-jars-Main",
+ ":art-gtest-jars-MainStripped",
+ ":art-gtest-jars-MultiDex",
+ ":art-gtest-jars-MultiDexModifiedSecondary",
+ ":art-gtest-jars-MyClassNatives",
+ ":art-gtest-jars-Nested",
+ ":art-gtest-jars-VerifierDeps",
+ ":art-gtest-jars-VerifierDepsMulti",
+ ],
srcs: ["dexoptanalyzer_test.cc"],
required: [
"dex2oatd",
diff --git a/libartbase/base/common_art_test.cc b/libartbase/base/common_art_test.cc
index 9c35dd420e..118fc762b7 100644
--- a/libartbase/base/common_art_test.cc
+++ b/libartbase/base/common_art_test.cc
@@ -16,14 +16,15 @@
#include "common_art_test.h"
+#include <cstdio>
#include <dirent.h>
#include <dlfcn.h>
#include <fcntl.h>
+#include <filesystem>
#include <ftw.h>
+#include <libgen.h>
#include <stdlib.h>
#include <unistd.h>
-#include <cstdio>
-#include <filesystem>
#include "android-base/file.h"
#include "android-base/logging.h"
#include "nativehelper/scoped_local_ref.h"
@@ -493,16 +494,14 @@ std::string CommonArtTestImpl::GetClassPathOption(const char* option,
std::string CommonArtTestImpl::GetTestDexFileName(const char* name) const {
CHECK(name != nullptr);
- std::string filename;
- if (IsHost()) {
- filename += GetAndroidRoot() + "/framework/";
- } else {
- filename += ART_TARGET_NATIVETEST_DIR_STRING;
- }
- filename += "art-gtest-";
- filename += name;
- filename += ".jar";
- return filename;
+ // The needed jar files for gtest are located next to the gtest binary itself.
+ std::string cmdline;
+ bool result = android::base::ReadFileToString("/proc/self/cmdline", &cmdline);
+ CHECK(result);
+ UniqueCPtr<char[]> executable_path(realpath(cmdline.c_str(), nullptr));
+ CHECK(executable_path != nullptr);
+ std::string executable_dir = dirname(executable_path.get());
+ return executable_dir + "/art-gtest-jars-" + name + ".jar";
}
std::vector<std::unique_ptr<const DexFile>> CommonArtTestImpl::OpenDexFiles(const char* filename) {
diff --git a/libdexfile/Android.bp b/libdexfile/Android.bp
index c73908d9b4..adb2d287ad 100644
--- a/libdexfile/Android.bp
+++ b/libdexfile/Android.bp
@@ -250,6 +250,13 @@ art_cc_test {
"dex/type_lookup_table_test.cc",
"dex/utf_test.cc",
],
+ data: [
+ ":art-gtest-jars-GetMethodSignature",
+ ":art-gtest-jars-Lookup",
+ ":art-gtest-jars-Main",
+ ":art-gtest-jars-MultiDex",
+ ":art-gtest-jars-Nested",
+ ],
header_libs: ["jni_headers"],
shared_libs: [
"libbacktrace",
diff --git a/libprofile/Android.bp b/libprofile/Android.bp
index 23f3241735..1c484ac00e 100644
--- a/libprofile/Android.bp
+++ b/libprofile/Android.bp
@@ -186,6 +186,11 @@ art_cc_test {
defaults: [
"art_gtest_defaults",
],
+ data: [
+ ":art-gtest-jars-ManyMethods",
+ ":art-gtest-jars-MultiDex",
+ ":art-gtest-jars-ProfileTestMultiDex",
+ ],
srcs: [
"profile/profile_boot_info_test.cc",
"profile/profile_compilation_info_test.cc",
diff --git a/oatdump/Android.bp b/oatdump/Android.bp
index 2817c1bb71..643d2e792e 100644
--- a/oatdump/Android.bp
+++ b/oatdump/Android.bp
@@ -138,6 +138,9 @@ art_cc_test {
defaults: [
"art_gtest_defaults",
],
+ data: [
+ ":art-gtest-jars-ProfileTestMultiDex",
+ ],
srcs: [
"oatdump_app_test.cc",
"oatdump_test.cc",
@@ -148,6 +151,6 @@ art_cc_test {
"oatdumpds",
"dexdump",
"dex2oatd",
- "dex2oatds"
+ "dex2oatds",
],
}
diff --git a/profman/Android.bp b/profman/Android.bp
index a493056d8e..806170a82d 100644
--- a/profman/Android.bp
+++ b/profman/Android.bp
@@ -98,6 +98,9 @@ art_cc_test {
shared_libs: [
"libprofiled",
],
+ data: [
+ ":art-gtest-jars-ProfileTestMultiDex",
+ ],
srcs: ["profile_assistant_test.cc"],
required: ["profmand"],
}
diff --git a/runtime/Android.bp b/runtime/Android.bp
index 9edd80f464..31e92d9310 100644
--- a/runtime/Android.bp
+++ b/runtime/Android.bp
@@ -604,6 +604,45 @@ art_cc_test {
defaults: [
"art_gtest_defaults",
],
+ data: [
+ ":art-gtest-jars-AllFields",
+ ":art-gtest-jars-ErroneousA",
+ ":art-gtest-jars-ErroneousB",
+ ":art-gtest-jars-ErroneousInit",
+ ":art-gtest-jars-Extension1",
+ ":art-gtest-jars-Extension2",
+ ":art-gtest-jars-ForClassLoaderA",
+ ":art-gtest-jars-ForClassLoaderB",
+ ":art-gtest-jars-ForClassLoaderC",
+ ":art-gtest-jars-ForClassLoaderD",
+ ":art-gtest-jars-HiddenApiSignatures",
+ ":art-gtest-jars-IMTA",
+ ":art-gtest-jars-IMTB",
+ ":art-gtest-jars-Instrumentation",
+ ":art-gtest-jars-Interfaces",
+ ":art-gtest-jars-LinkageTest",
+ ":art-gtest-jars-Main",
+ ":art-gtest-jars-MainStripped",
+ ":art-gtest-jars-MainUncompressedAligned",
+ ":art-gtest-jars-MethodTypes",
+ ":art-gtest-jars-MultiDex",
+ ":art-gtest-jars-MultiDexModifiedSecondary",
+ ":art-gtest-jars-MultiDexUncompressedAligned",
+ ":art-gtest-jars-MyClass",
+ ":art-gtest-jars-MyClassNatives",
+ ":art-gtest-jars-Nested",
+ ":art-gtest-jars-Packages",
+ ":art-gtest-jars-ProfileTestMultiDex",
+ ":art-gtest-jars-ProtoCompare",
+ ":art-gtest-jars-ProtoCompare2",
+ ":art-gtest-jars-StaticLeafMethods",
+ ":art-gtest-jars-Statics",
+ ":art-gtest-jars-StaticsFromCode",
+ ":art-gtest-jars-Transaction",
+ ":art-gtest-jars-VerifierDeps",
+ ":art-gtest-jars-VerifierDepsMulti",
+ ":art-gtest-jars-XandY",
+ ],
srcs: [
"arch/arch_test.cc",
"arch/instruction_set_features_test.cc",
@@ -698,6 +737,11 @@ art_cc_test {
"module_exclusion_test.cc",
],
required: ["dex2oatd"],
+ data: [
+ ":art-gtest-jars-Main",
+ ":art-gtest-jars-NonStaticLeafMethods",
+ ":art-gtest-jars-StaticLeafMethods",
+ ],
shared_libs: [
"libartd-compiler",
"libvixld",
diff --git a/runtime/runtime_callbacks_test.cc b/runtime/runtime_callbacks_test.cc
index 4a60c045cc..7d4f26cd2a 100644
--- a/runtime/runtime_callbacks_test.cc
+++ b/runtime/runtime_callbacks_test.cc
@@ -300,8 +300,8 @@ TEST_F(ClassLoadCallbackRuntimeCallbacksTest, ClassLoadCallback) {
hs.NewHandle(class_linker_->FindClass(soa.Self(), descriptor_y, class_loader)));
ASSERT_TRUE(h_Y != nullptr);
- bool expect1 = Expect({ "PreDefine:LY; <art-gtest-XandY.jar>",
- "PreDefine:LX; <art-gtest-XandY.jar>",
+ bool expect1 = Expect({ "PreDefine:LY; <art-gtest-jars-XandY.jar>",
+ "PreDefine:LX; <art-gtest-jars-XandY.jar>",
"Load:LX;",
"Prepare:LX;[LX;]",
"Load:LY;",
@@ -312,7 +312,7 @@ TEST_F(ClassLoadCallbackRuntimeCallbacksTest, ClassLoadCallback) {
ASSERT_TRUE(class_linker_->EnsureInitialized(Thread::Current(), h_Y, true, true));
- bool expect2 = Expect({ "PreDefine:LY$Z; <art-gtest-XandY.jar>",
+ bool expect2 = Expect({ "PreDefine:LY$Z; <art-gtest-jars-XandY.jar>",
"Load:LY$Z;",
"Prepare:LY$Z;[LY$Z;]" });
EXPECT_TRUE(expect2);
diff --git a/test/Android.bp b/test/Android.bp
index b8cf4174b0..49cbf3e693 100644
--- a/test/Android.bp
+++ b/test/Android.bp
@@ -1013,6 +1013,7 @@ java_defaults {
enabled: false,
},
sdk_version: "core_platform",
+ uncompress_dex: false,
}
// The following modules are just trivial compilations (non-trivial cases are the end).
@@ -1397,3 +1398,10 @@ genrule {
srcs: ["VerifySoftFailDuringClinit/**/*.smali"],
out: ["art-gtest-jars-VerifySoftFailDuringClinit.jar"],
}
+
+genrule {
+ name: "art-gtest-jars-LinkageTest",
+ defaults: ["art-gtest-jars-smali-defaults"],
+ srcs: ["LinkageTest/*.smali"],
+ out: ["art-gtest-jars-LinkageTest.jar"],
+}
diff --git a/test/gtests-target.xml b/test/gtests-target.xml
index 62aa938436..aa2cefa9ee 100644
--- a/test/gtests-target.xml
+++ b/test/gtests-target.xml
@@ -18,333 +18,6 @@
<target_preparer class="com.android.tradefed.targetprep.InstallApexModuleTargetPreparer" >
<option name="test-file-name" value="com.android.art.testing.apex" />
</target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
- <option name="cleanup" value="true" />
- <option name="abort-on-push-failure" value="true" />
- <!-- copy jar files to /data/nativetest -->
- <option name="push-file"
- key="art-gtest-jars-AbstractMethod.jar"
- value="/data/nativetest/art/art-gtest-AbstractMethod.jar"/>
- <option name="push-file"
- key="art-gtest-jars-AllFields.jar"
- value="/data/nativetest/art/art-gtest-AllFields.jar"/>
- <option name="push-file"
- key="art-gtest-jars-DefaultMethods.jar"
- value="/data/nativetest/art/art-gtest-DefaultMethods.jar"/>
- <option name="push-file"
- key="art-gtest-jars-DexToDexDecompiler.jar"
- value="/data/nativetest/art/art-gtest-DexToDexDecompiler.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ErroneousA.jar"
- value="/data/nativetest/art/art-gtest-ErroneousA.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ErroneousB.jar"
- value="/data/nativetest/art/art-gtest-ErroneousB.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ErroneousInit.jar"
- value="/data/nativetest/art/art-gtest-ErroneousInit.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ForClassLoaderA.jar"
- value="/data/nativetest/art/art-gtest-ForClassLoaderA.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ForClassLoaderB.jar"
- value="/data/nativetest/art/art-gtest-ForClassLoaderB.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ForClassLoaderC.jar"
- value="/data/nativetest/art/art-gtest-ForClassLoaderC.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ForClassLoaderD.jar"
- value="/data/nativetest/art/art-gtest-ForClassLoaderD.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ExceptionHandle.jar"
- value="/data/nativetest/art/art-gtest-ExceptionHandle.jar"/>
- <option name="push-file"
- key="art-gtest-jars-GetMethodSignature.jar"
- value="/data/nativetest/art/art-gtest-GetMethodSignature.jar"/>
- <option name="push-file"
- key="art-gtest-jars-HiddenApi.jar"
- value="/data/nativetest/art/art-gtest-HiddenApi.jar"/>
- <option name="push-file"
- key="art-gtest-jars-HiddenApiSignatures.jar"
- value="/data/nativetest/art/art-gtest-HiddenApiSignatures.jar"/>
- <option name="push-file"
- key="art-gtest-jars-HiddenApiStubs.jar"
- value="/data/nativetest/art/art-gtest-HiddenApiStubs.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ImageLayoutA.jar"
- value="/data/nativetest/art/art-gtest-ImageLayoutA.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ImageLayoutB.jar"
- value="/data/nativetest/art/art-gtest-ImageLayoutB.jar"/>
- <option name="push-file"
- key="art-gtest-jars-IMTA.jar"
- value="/data/nativetest/art/art-gtest-IMTA.jar"/>
- <option name="push-file"
- key="art-gtest-jars-IMTB.jar"
- value="/data/nativetest/art/art-gtest-IMTB.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Instrumentation.jar"
- value="/data/nativetest/art/art-gtest-Instrumentation.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Interfaces.jar"
- value="/data/nativetest/art/art-gtest-Interfaces.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Lookup.jar"
- value="/data/nativetest/art/art-gtest-Lookup.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Main.jar"
- value="/data/nativetest/art/art-gtest-Main.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ManyMethods.jar"
- value="/data/nativetest/art/art-gtest-ManyMethods.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MethodTypes.jar"
- value="/data/nativetest/art/art-gtest-MethodTypes.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MultiDex.jar"
- value="/data/nativetest/art/art-gtest-MultiDex.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MultiDexModifiedSecondary.jar"
- value="/data/nativetest/art/art-gtest-MultiDexModifiedSecondary.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MyClass.jar"
- value="/data/nativetest/art/art-gtest-MyClass.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MyClassNatives.jar"
- value="/data/nativetest/art/art-gtest-MyClassNatives.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Nested.jar"
- value="/data/nativetest/art/art-gtest-Nested.jar"/>
- <option name="push-file"
- key="art-gtest-jars-NonStaticLeafMethods.jar"
- value="/data/nativetest/art/art-gtest-NonStaticLeafMethods.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Packages.jar"
- value="/data/nativetest/art/art-gtest-Packages.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ProtoCompare.jar"
- value="/data/nativetest/art/art-gtest-ProtoCompare.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ProtoCompare2.jar"
- value="/data/nativetest/art/art-gtest-ProtoCompare2.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ProfileTestMultiDex.jar"
- value="/data/nativetest/art/art-gtest-ProfileTestMultiDex.jar"/>
- <option name="push-file"
- key="art-gtest-jars-StaticLeafMethods.jar"
- value="/data/nativetest/art/art-gtest-StaticLeafMethods.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Statics.jar"
- value="/data/nativetest/art/art-gtest-Statics.jar"/>
- <option name="push-file"
- key="art-gtest-jars-StaticsFromCode.jar"
- value="/data/nativetest/art/art-gtest-StaticsFromCode.jar"/>
- <option name="push-file"
- key="art-gtest-jars-StringLiterals.jar"
- value="/data/nativetest/art/art-gtest-StringLiterals.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Transaction.jar"
- value="/data/nativetest/art/art-gtest-Transaction.jar"/>
- <option name="push-file"
- key="art-gtest-jars-XandY.jar"
- value="/data/nativetest/art/art-gtest-XandY.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MainEmptyUncompressed.jar"
- value="/data/nativetest/art/art-gtest-MainEmptyUncompressed.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MainEmptyUncompressedAligned.jar"
- value="/data/nativetest/art/art-gtest-MainEmptyUncompressedAligned.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MainStripped.jar"
- value="/data/nativetest/art/art-gtest-MainStripped.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MainUncompressedAligned.jar"
- value="/data/nativetest/art/art-gtest-MainUncompressedAligned.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MultiDexUncompressedAligned.jar"
- value="/data/nativetest/art/art-gtest-MultiDexUncompressedAligned.jar"/>
- <option name="push-file"
- key="art-gtest-jars-VerifierDeps.jar"
- value="/data/nativetest/art/art-gtest-VerifierDeps.jar"/>
- <option name="push-file"
- key="art-gtest-jars-VerifierDepsMulti.jar"
- value="/data/nativetest/art/art-gtest-VerifierDepsMulti.jar"/>
- <option name="push-file"
- key="art-gtest-jars-VerifySoftFailDuringClinit.jar"
- value="/data/nativetest/art/art-gtest-VerifySoftFailDuringClinit.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Extension1.jar"
- value="/data/nativetest/art/art-gtest-Extension1.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Extension2.jar"
- value="/data/nativetest/art/art-gtest-Extension2.jar"/>
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
- <option name="cleanup" value="true" />
- <option name="abort-on-push-failure" value="true" />
- <!-- copy jar files to /data/nativetest64 -->
- <option name="push-file"
- key="art-gtest-jars-AbstractMethod.jar"
- value="/data/nativetest64/art/art-gtest-AbstractMethod.jar"/>
- <option name="push-file"
- key="art-gtest-jars-AllFields.jar"
- value="/data/nativetest64/art/art-gtest-AllFields.jar"/>
- <option name="push-file"
- key="art-gtest-jars-DefaultMethods.jar"
- value="/data/nativetest64/art/art-gtest-DefaultMethods.jar"/>
- <option name="push-file"
- key="art-gtest-jars-DexToDexDecompiler.jar"
- value="/data/nativetest64/art/art-gtest-DexToDexDecompiler.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ErroneousA.jar"
- value="/data/nativetest64/art/art-gtest-ErroneousA.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ErroneousB.jar"
- value="/data/nativetest64/art/art-gtest-ErroneousB.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ErroneousInit.jar"
- value="/data/nativetest64/art/art-gtest-ErroneousInit.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ForClassLoaderA.jar"
- value="/data/nativetest64/art/art-gtest-ForClassLoaderA.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ForClassLoaderB.jar"
- value="/data/nativetest64/art/art-gtest-ForClassLoaderB.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ForClassLoaderC.jar"
- value="/data/nativetest64/art/art-gtest-ForClassLoaderC.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ForClassLoaderD.jar"
- value="/data/nativetest64/art/art-gtest-ForClassLoaderD.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ExceptionHandle.jar"
- value="/data/nativetest64/art/art-gtest-ExceptionHandle.jar"/>
- <option name="push-file"
- key="art-gtest-jars-GetMethodSignature.jar"
- value="/data/nativetest64/art/art-gtest-GetMethodSignature.jar"/>
- <option name="push-file"
- key="art-gtest-jars-HiddenApi.jar"
- value="/data/nativetest64/art/art-gtest-HiddenApi.jar"/>
- <option name="push-file"
- key="art-gtest-jars-HiddenApiSignatures.jar"
- value="/data/nativetest64/art/art-gtest-HiddenApiSignatures.jar"/>
- <option name="push-file"
- key="art-gtest-jars-HiddenApiStubs.jar"
- value="/data/nativetest64/art/art-gtest-HiddenApiStubs.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ImageLayoutA.jar"
- value="/data/nativetest64/art/art-gtest-ImageLayoutA.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ImageLayoutB.jar"
- value="/data/nativetest64/art/art-gtest-ImageLayoutB.jar"/>
- <option name="push-file"
- key="art-gtest-jars-IMTA.jar"
- value="/data/nativetest64/art/art-gtest-IMTA.jar"/>
- <option name="push-file"
- key="art-gtest-jars-IMTB.jar"
- value="/data/nativetest64/art/art-gtest-IMTB.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Instrumentation.jar"
- value="/data/nativetest64/art/art-gtest-Instrumentation.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Interfaces.jar"
- value="/data/nativetest64/art/art-gtest-Interfaces.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Lookup.jar"
- value="/data/nativetest64/art/art-gtest-Lookup.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Main.jar"
- value="/data/nativetest64/art/art-gtest-Main.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ManyMethods.jar"
- value="/data/nativetest64/art/art-gtest-ManyMethods.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MethodTypes.jar"
- value="/data/nativetest64/art/art-gtest-MethodTypes.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MultiDex.jar"
- value="/data/nativetest64/art/art-gtest-MultiDex.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MultiDexModifiedSecondary.jar"
- value="/data/nativetest64/art/art-gtest-MultiDexModifiedSecondary.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MyClass.jar"
- value="/data/nativetest64/art/art-gtest-MyClass.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MyClassNatives.jar"
- value="/data/nativetest64/art/art-gtest-MyClassNatives.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Nested.jar"
- value="/data/nativetest64/art/art-gtest-Nested.jar"/>
- <option name="push-file"
- key="art-gtest-jars-NonStaticLeafMethods.jar"
- value="/data/nativetest64/art/art-gtest-NonStaticLeafMethods.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Packages.jar"
- value="/data/nativetest64/art/art-gtest-Packages.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ProtoCompare.jar"
- value="/data/nativetest64/art/art-gtest-ProtoCompare.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ProtoCompare2.jar"
- value="/data/nativetest64/art/art-gtest-ProtoCompare2.jar"/>
- <option name="push-file"
- key="art-gtest-jars-ProfileTestMultiDex.jar"
- value="/data/nativetest64/art/art-gtest-ProfileTestMultiDex.jar"/>
- <option name="push-file"
- key="art-gtest-jars-StaticLeafMethods.jar"
- value="/data/nativetest64/art/art-gtest-StaticLeafMethods.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Statics.jar"
- value="/data/nativetest64/art/art-gtest-Statics.jar"/>
- <option name="push-file"
- key="art-gtest-jars-StaticsFromCode.jar"
- value="/data/nativetest64/art/art-gtest-StaticsFromCode.jar"/>
- <option name="push-file"
- key="art-gtest-jars-StringLiterals.jar"
- value="/data/nativetest64/art/art-gtest-StringLiterals.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Transaction.jar"
- value="/data/nativetest64/art/art-gtest-Transaction.jar"/>
- <option name="push-file"
- key="art-gtest-jars-XandY.jar"
- value="/data/nativetest64/art/art-gtest-XandY.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MainEmptyUncompressed.jar"
- value="/data/nativetest64/art/art-gtest-MainEmptyUncompressed.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MainEmptyUncompressedAligned.jar"
- value="/data/nativetest64/art/art-gtest-MainEmptyUncompressedAligned.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MainStripped.jar"
- value="/data/nativetest64/art/art-gtest-MainStripped.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MainUncompressedAligned.jar"
- value="/data/nativetest64/art/art-gtest-MainUncompressedAligned.jar"/>
- <option name="push-file"
- key="art-gtest-jars-MultiDexUncompressedAligned.jar"
- value="/data/nativetest64/art/art-gtest-MultiDexUncompressedAligned.jar"/>
- <option name="push-file"
- key="art-gtest-jars-VerifierDeps.jar"
- value="/data/nativetest64/art/art-gtest-VerifierDeps.jar"/>
- <option name="push-file"
- key="art-gtest-jars-VerifierDepsMulti.jar"
- value="/data/nativetest64/art/art-gtest-VerifierDepsMulti.jar"/>
- <option name="push-file"
- key="art-gtest-jars-VerifySoftFailDuringClinit.jar"
- value="/data/nativetest64/art/art-gtest-VerifySoftFailDuringClinit.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Extension1.jar"
- value="/data/nativetest64/art/art-gtest-Extension1.jar"/>
- <option name="push-file"
- key="art-gtest-jars-Extension2.jar"
- value="/data/nativetest64/art/art-gtest-Extension2.jar"/>
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
- <!-- only for debugging purposes -->
- <option name="run-command" value="ls -la /data/nativetest/art" />
- <option name="run-command" value="ls -la /data/nativetest64/art" />
- </target_preparer>
<test class="com.android.tradefed.testtype.GTest" >
<!-- TODO: These tests do not work since they need to write to /system -->
<option name="exclude-filter" value="HiddenApiTest.DexDomain_System*:OatFileAssistantTest.SystemFrameworkDir" />
diff --git a/tools/dexanalyze/Android.bp b/tools/dexanalyze/Android.bp
index e7ae113a26..909d9b879c 100644
--- a/tools/dexanalyze/Android.bp
+++ b/tools/dexanalyze/Android.bp
@@ -49,6 +49,9 @@ art_cc_test {
defaults: [
"art_gtest_defaults",
],
+ data: [
+ ":art-gtest-jars-MultiDex",
+ ],
srcs: [
"dexanalyze_test.cc",
],
diff --git a/tools/hiddenapi/Android.bp b/tools/hiddenapi/Android.bp
index 4e898963bb..29486a7eda 100644
--- a/tools/hiddenapi/Android.bp
+++ b/tools/hiddenapi/Android.bp
@@ -71,6 +71,10 @@ art_cc_test {
defaults: [
"art_gtest_defaults",
],
+ data: [
+ ":art-gtest-jars-HiddenApi",
+ ":art-gtest-jars-HiddenApiStubs",
+ ],
srcs: ["hiddenapi_test.cc"],
required: ["hiddenapid"],
}