diff options
| -rw-r--r-- | build/Android.common_test.mk | 45 | ||||
| -rw-r--r-- | build/Android.gtest.mk | 255 | ||||
| -rwxr-xr-x | build/apex/art_apex_test.py | 61 | ||||
| -rw-r--r-- | compiler/Android.bp | 5 | ||||
| -rw-r--r-- | dex2oat/Android.bp | 25 | ||||
| -rw-r--r-- | dexlayout/Android.bp | 3 | ||||
| -rw-r--r-- | dexoptanalyzer/Android.bp | 11 | ||||
| -rw-r--r-- | libartbase/base/common_art_test.cc | 23 | ||||
| -rw-r--r-- | libdexfile/Android.bp | 7 | ||||
| -rw-r--r-- | libprofile/Android.bp | 5 | ||||
| -rw-r--r-- | oatdump/Android.bp | 5 | ||||
| -rw-r--r-- | profman/Android.bp | 3 | ||||
| -rw-r--r-- | runtime/Android.bp | 44 | ||||
| -rw-r--r-- | runtime/runtime_callbacks_test.cc | 6 | ||||
| -rw-r--r-- | test/Android.bp | 8 | ||||
| -rw-r--r-- | test/gtests-target.xml | 327 | ||||
| -rw-r--r-- | tools/dexanalyze/Android.bp | 3 | ||||
| -rw-r--r-- | tools/hiddenapi/Android.bp | 4 |
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"], } |