diff options
author | 2020-05-08 00:08:42 +0000 | |
---|---|---|
committer | 2020-05-08 07:25:07 +0000 | |
commit | fc5e2ef08c78bcf4a60c5097ff3a7fa80e358522 (patch) | |
tree | 4c1d538f5faf72617e9088b8f99a368b999b32dd | |
parent | 685c84775f7dfe23197b080e4730435fd80e6d27 (diff) |
Revert "Remove test_per_src from ART tests."
This reverts commit 8103e479d8f8447584582b2b70752029f7087776.
Reason for revert: asan run fails in multiple ways
Test: ran ./art/test/testrunner/run_build_test_target.py art-gtest-asan
Change-Id: Ib9f2887436a664b64c6410f56a25ae2dd0e0aab4
-rw-r--r-- | build/Android.gtest.mk | 41 | ||||
-rwxr-xr-x | build/apex/art_apex_test.py | 259 | ||||
-rw-r--r-- | compiler/optimizing/codegen_test_utils.h | 8 | ||||
-rw-r--r-- | compiler/optimizing/optimizing_unit_test.h | 12 | ||||
-rw-r--r-- | libartbase/base/common_art_test.cc | 3 | ||||
-rw-r--r-- | libartbase/base/utils_test.cc | 2 | ||||
-rw-r--r-- | libartpalette/Android.bp | 1 | ||||
-rw-r--r-- | libdexfile/Android.bp | 11 | ||||
-rw-r--r-- | libnativebridge/tests/Android.bp | 2 | ||||
-rw-r--r-- | libnativeloader/test/Android.bp | 1 | ||||
-rw-r--r-- | runtime/common_runtime_test.cc | 6 | ||||
-rw-r--r-- | runtime/gc/space/dlmalloc_space_random_test.cc | 2 | ||||
-rw-r--r-- | runtime/gc/space/dlmalloc_space_static_test.cc | 2 | ||||
-rw-r--r-- | runtime/gc/space/rosalloc_space_random_test.cc | 2 | ||||
-rw-r--r-- | runtime/gc/space/rosalloc_space_static_test.cc | 2 | ||||
-rw-r--r-- | runtime/proxy_test.h | 10 | ||||
-rw-r--r-- | test/Android.bp | 7 | ||||
-rwxr-xr-x | tools/run-gtests.sh | 2 |
18 files changed, 277 insertions, 96 deletions
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk index 1002cab2e9..ab9d594d78 100644 --- a/build/Android.gtest.mk +++ b/build/Android.gtest.mk @@ -501,7 +501,6 @@ define define-art-gtest-rule-host gtest_exe := $(2) # Dependencies for all host gtests. gtest_deps := $$(ART_HOST_DEX_DEPENDENCIES) \ - $$(ART_TEST_HOST_GTEST_DEPENDENCIES) \ $$(HOST_BOOT_IMAGE_JARS) \ $$($(3)ART_HOST_OUT_SHARED_LIBRARIES)/libicu_jni$$(ART_HOST_SHLIB_EXTENSION) \ $$($(3)ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$$(ART_HOST_SHLIB_EXTENSION) \ @@ -533,20 +532,20 @@ define define-art-gtest-rule-host gtest_deps += $$($(3)HOST_BOOT_IMAGE) endif + ART_TEST_HOST_GTEST_DEPENDENCIES += $$(gtest_deps) + .PHONY: $$(gtest_rule) $$(gtest_rule): $$(gtest_output) # Re-run the tests, even if nothing changed. Until the build system has a dedicated "no cache" # option, claim to write a file that is never produced. $$(gtest_output): .KATI_IMPLICIT_OUTPUTS := $$(gtest_output)-nocache -# Limit concurrent runs. Each test itself is already highly parallel (and thus memory hungry). -$$(gtest_output): .KATI_NINJA_POOL := highmem_pool $$(gtest_output): NAME := $$(gtest_rule) ifeq (,$(SANITIZE_HOST)) $$(gtest_output): $$(gtest_exe) $$(gtest_deps) $(hide) ($$(call ART_TEST_SKIP,$$(NAME)) && \ timeout --foreground -k 120s 2400s $(HOST_OUT_EXECUTABLES)/signal_dumper -s 15 \ - $$< --gtest_output=xml:$$@ --deadline_threshold_ms=600000 && \ + $$< --gtest_output=xml:$$@ && \ $$(call ART_TEST_PASSED,$$(NAME))) || $$(call ART_TEST_FAILED,$$(NAME)) else # Note: envsetup currently exports ASAN_OPTIONS=detect_leaks=0 to suppress leak detection, as some @@ -580,40 +579,6 @@ 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 += \ - $(HOST_OUT_EXECUTABLES)/dex2oatd \ - $(HOST_OUT_EXECUTABLES)/dex2oatds \ - $(HOST_OUT_EXECUTABLES)/dexanalyze \ - $(HOST_OUT_EXECUTABLES)/dexdiag \ - $(HOST_OUT_EXECUTABLES)/dexdump \ - $(HOST_OUT_EXECUTABLES)/dexlayoutd \ - $(HOST_OUT_EXECUTABLES)/dexlist \ - $(HOST_OUT_EXECUTABLES)/dexoptanalyzerd \ - $(HOST_OUT_EXECUTABLES)/hiddenapid \ - $(HOST_OUT_EXECUTABLES)/imgdiagd \ - $(HOST_OUT_EXECUTABLES)/oatdumpd \ - $(HOST_OUT_EXECUTABLES)/oatdumpds \ - $(HOST_OUT_EXECUTABLES)/profmand \ - $(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)) - # Add the additional dependencies for the specified test # $(1): test name define add-art-gtest-dependencies diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py index b97ac237ae..aa95eb7f4b 100755 --- a/build/apex/art_apex_test.py +++ b/build/apex/art_apex_test.py @@ -728,27 +728,246 @@ class TestingTargetChecker: return 'Testing (Target) Checker' def run(self): - # Check ART test binaries. - self._checker.check_art_test_executable('art_cmdline_tests') - self._checker.check_art_test_executable('art_compiler_tests') - self._checker.check_art_test_executable('art_dex2oat_tests') - self._checker.check_art_test_executable('art_dexanalyze_tests') - self._checker.check_art_test_executable('art_dexdiag_tests') - self._checker.check_art_test_executable('art_dexdump_tests') - self._checker.check_art_test_executable('art_dexlayout_tests') - self._checker.check_art_test_executable('art_dexlist_tests') - self._checker.check_art_test_executable('art_dexoptanalyzer_tests') - self._checker.check_art_test_executable('art_imgdiag_tests') - self._checker.check_art_test_executable('art_libartbase_tests') - self._checker.check_art_test_executable('art_libartpalette_tests') + # Check cmdline tests. + self._checker.check_optional_art_test_executable('cmdline_parser_test') + + # Check compiler tests. + self._checker.check_art_test_executable('atomic_dex_ref_map_test') + self._checker.check_art_test_executable('bounds_check_elimination_test') + self._checker.check_art_test_executable('codegen_test') + self._checker.check_art_test_executable('compiled_method_storage_test') + self._checker.check_art_test_executable('data_type_test') + self._checker.check_art_test_executable('dedupe_set_test') + self._checker.check_art_test_executable('dominator_test') + self._checker.check_art_test_executable('dwarf_test') + self._checker.check_art_test_executable('exception_test') + self._checker.check_art_test_executable('find_loops_test') + self._checker.check_art_test_executable('graph_checker_test') + self._checker.check_art_test_executable('graph_test') + self._checker.check_art_test_executable('gvn_test') + self._checker.check_art_test_executable('induction_var_analysis_test') + self._checker.check_art_test_executable('induction_var_range_test') + self._checker.check_art_test_executable('jni_cfi_test') + self._checker.check_art_test_executable('jni_compiler_test') + self._checker.check_art_test_executable('licm_test') + self._checker.check_art_test_executable('linker_patch_test') + self._checker.check_art_test_executable('live_interval_test') + self._checker.check_art_test_executable('load_store_analysis_test') + self._checker.check_art_test_executable('load_store_elimination_test') + self._checker.check_art_test_executable('loop_optimization_test') + self._checker.check_art_test_executable('nodes_test') + self._checker.check_art_test_executable('nodes_vector_test') + self._checker.check_art_test_executable('optimizing_cfi_test') + self._checker.check_art_test_executable('output_stream_test') + self._checker.check_art_test_executable('parallel_move_test') + self._checker.check_art_test_executable('pretty_printer_test') + self._checker.check_art_test_executable('reference_type_propagation_test') + self._checker.check_art_test_executable('scheduler_test') + self._checker.check_art_test_executable('select_generator_test') + self._checker.check_art_test_executable('side_effects_test') + self._checker.check_art_test_executable('src_map_elem_test') + self._checker.check_art_test_executable('ssa_liveness_analysis_test') + self._checker.check_art_test_executable('ssa_test') + self._checker.check_art_test_executable('stack_map_test') + self._checker.check_art_test_executable('superblock_cloner_test') + self._checker.check_art_test_executable('suspend_check_test') + self._checker.check_art_test_executable('swap_space_test') + # These tests depend on a specific code generator and are conditionally included. + self._checker.check_optional_art_test_executable('constant_folding_test') + self._checker.check_optional_art_test_executable('dead_code_elimination_test') + self._checker.check_optional_art_test_executable('linearize_test') + self._checker.check_optional_art_test_executable('live_ranges_test') + self._checker.check_optional_art_test_executable('liveness_test') + self._checker.check_optional_art_test_executable('managed_register_arm64_test') + self._checker.check_optional_art_test_executable('managed_register_arm_test') + self._checker.check_optional_art_test_executable('managed_register_x86_64_test') + self._checker.check_optional_art_test_executable('managed_register_x86_test') + self._checker.check_optional_art_test_executable('register_allocator_test') + + # Check dex2oat tests. + self._checker.check_art_test_executable('compiler_driver_test') + self._checker.check_art_test_executable('dex2oat_image_test') + self._checker.check_art_test_executable('dex2oat_test') + self._checker.check_art_test_executable('dex_to_dex_decompiler_test') + self._checker.check_art_test_executable('elf_writer_test') + self._checker.check_art_test_executable('image_test') + self._checker.check_art_test_executable('image_write_read_test') + self._checker.check_art_test_executable('index_bss_mapping_encoder_test') + self._checker.check_art_test_executable('multi_oat_relative_patcher_test') + self._checker.check_art_test_executable('oat_writer_test') + self._checker.check_art_test_executable('verifier_deps_test') + # These tests depend on a specific code generator and are conditionally included. + self._checker.check_optional_art_test_executable('relative_patcher_arm64_test') + self._checker.check_optional_art_test_executable('relative_patcher_thumb2_test') + self._checker.check_optional_art_test_executable('relative_patcher_x86_64_test') + self._checker.check_optional_art_test_executable('relative_patcher_x86_test') + + # Check dexanalyze tests. + self._checker.check_optional_art_test_executable('dexanalyze_test') + + # Check dexdiag tests. + self._checker.check_optional_art_test_executable('dexdiag_test') + + # Check dexdump tests. + self._checker.check_art_test_executable('dexdump_test') + + # Check dexlayout tests. + self._checker.check_optional_art_test_executable('dexlayout_test') + + # Check dexlist tests. + self._checker.check_art_test_executable('dexlist_test') + + # Check dexoptanalyzer tests. + self._checker.check_art_test_executable('dexoptanalyzer_test') + + # Check imgdiag tests. + self._checker.check_art_test_executable('imgdiag_test') + + # Check libartbase tests. + self._checker.check_art_test_executable('arena_allocator_test') + self._checker.check_art_test_executable('bit_field_test') + self._checker.check_art_test_executable('bit_memory_region_test') + self._checker.check_art_test_executable('bit_string_test') + self._checker.check_art_test_executable('bit_struct_test') + self._checker.check_art_test_executable('bit_table_test') + self._checker.check_art_test_executable('bit_utils_test') + self._checker.check_art_test_executable('bit_vector_test') + self._checker.check_art_test_executable('fd_file_test') + self._checker.check_art_test_executable('file_utils_test') + self._checker.check_art_test_executable('hash_set_test') + self._checker.check_art_test_executable('hex_dump_test') + self._checker.check_art_test_executable('histogram_test') + self._checker.check_art_test_executable('indenter_test') + self._checker.check_art_test_executable('instruction_set_test') + self._checker.check_art_test_executable('intrusive_forward_list_test') + self._checker.check_art_test_executable('leb128_test') + self._checker.check_art_test_executable('logging_test') + self._checker.check_art_test_executable('mem_map_test') + self._checker.check_art_test_executable('membarrier_test') + self._checker.check_art_test_executable('memfd_test') + self._checker.check_art_test_executable('memory_region_test') + self._checker.check_art_test_executable('safe_copy_test') + self._checker.check_art_test_executable('scoped_flock_test') + self._checker.check_art_test_executable('time_utils_test') + self._checker.check_art_test_executable('transform_array_ref_test') + self._checker.check_art_test_executable('transform_iterator_test') + self._checker.check_art_test_executable('utils_test') + self._checker.check_art_test_executable('variant_map_test') + self._checker.check_art_test_executable('zip_archive_test') + + # Check libartpalette tests. + self._checker.check_art_test_executable('palette_test') + + # Check libdexfile tests. + self._checker.check_art_test_executable('art_dex_file_loader_test') self._checker.check_art_test_executable('art_libdexfile_support_tests') - self._checker.check_art_test_executable('art_libdexfile_tests') - self._checker.check_art_test_executable('art_libprofile_tests') - self._checker.check_art_test_executable('art_oatdump_tests') - self._checker.check_art_test_executable('art_profman_tests') - self._checker.check_art_test_executable('art_runtime_compiler_tests') - self._checker.check_art_test_executable('art_runtime_tests') - self._checker.check_art_test_executable('art_sigchain_tests') + self._checker.check_art_test_executable('class_accessor_test') + self._checker.check_art_test_executable('code_item_accessors_test') + self._checker.check_art_test_executable('compact_dex_file_test') + self._checker.check_art_test_executable('compact_offset_table_test') + self._checker.check_art_test_executable('descriptors_names_test') + self._checker.check_art_test_executable('dex_file_loader_test') + self._checker.check_art_test_executable('dex_file_verifier_test') + self._checker.check_art_test_executable('dex_instruction_test') + self._checker.check_art_test_executable('primitive_test') + self._checker.check_art_test_executable('string_reference_test') + self._checker.check_art_test_executable('test_dex_file_builder_test') + self._checker.check_art_test_executable('type_lookup_table_test') + self._checker.check_art_test_executable('utf_test') + + # Check libprofile tests. + self._checker.check_optional_art_test_executable('profile_boot_info_test') + self._checker.check_optional_art_test_executable('profile_compilation_info_test') + + # Check oatdump tests. + self._checker.check_art_test_executable('oatdump_app_test') + self._checker.check_art_test_executable('oatdump_image_test') + self._checker.check_art_test_executable('oatdump_test') + + # Check profman tests. + self._checker.check_art_test_executable('profile_assistant_test') + + # Check runtime compiler tests. + self._checker.check_art_test_executable('module_exclusion_test') + self._checker.check_art_test_executable('reflection_test') + + # Check runtime tests. + self._checker.check_art_test_executable('arch_test') + self._checker.check_art_test_executable('barrier_test') + self._checker.check_art_test_executable('card_table_test') + self._checker.check_art_test_executable('cha_test') + self._checker.check_art_test_executable('class_linker_test') + self._checker.check_art_test_executable('class_loader_context_test') + self._checker.check_art_test_executable('class_table_test') + self._checker.check_art_test_executable('compiler_filter_test') + self._checker.check_art_test_executable('dex_cache_test') + self._checker.check_art_test_executable('dlmalloc_space_random_test') + self._checker.check_art_test_executable('dlmalloc_space_static_test') + self._checker.check_art_test_executable('entrypoints_order_test') + self._checker.check_art_test_executable('exec_utils_test') + self._checker.check_art_test_executable('gtest_test') + self._checker.check_art_test_executable('handle_scope_test') + self._checker.check_art_test_executable('heap_test') + self._checker.check_art_test_executable('heap_verification_test') + self._checker.check_art_test_executable('hidden_api_test') + self._checker.check_art_test_executable('image_space_test') + self._checker.check_art_test_executable('immune_spaces_test') + self._checker.check_art_test_executable('imtable_test') + self._checker.check_art_test_executable('indirect_reference_table_test') + self._checker.check_art_test_executable('instruction_set_features_arm64_test') + self._checker.check_art_test_executable('instruction_set_features_arm_test') + self._checker.check_art_test_executable('instruction_set_features_test') + self._checker.check_art_test_executable('instruction_set_features_x86_64_test') + self._checker.check_art_test_executable('instruction_set_features_x86_test') + self._checker.check_art_test_executable('instrumentation_test') + self._checker.check_art_test_executable('intern_table_test') + self._checker.check_art_test_executable('java_vm_ext_test') + self._checker.check_art_test_executable('jit_memory_region_test') + self._checker.check_art_test_executable('jni_internal_test') + self._checker.check_art_test_executable('large_object_space_test') + self._checker.check_art_test_executable('math_entrypoints_test') + self._checker.check_art_test_executable('memcmp16_test') + self._checker.check_art_test_executable('method_handles_test') + self._checker.check_art_test_executable('method_type_test') + self._checker.check_art_test_executable('method_verifier_test') + self._checker.check_art_test_executable('mod_union_table_test') + self._checker.check_art_test_executable('monitor_pool_test') + self._checker.check_art_test_executable('monitor_test') + self._checker.check_art_test_executable('mutex_test') + self._checker.check_art_test_executable('oat_file_assistant_test') + self._checker.check_art_test_executable('oat_file_test') + self._checker.check_art_test_executable('object_test') + self._checker.check_art_test_executable('parsed_options_test') + self._checker.check_art_test_executable('prebuilt_tools_test') + self._checker.check_art_test_executable('profiling_info_test') + self._checker.check_art_test_executable('profile_saver_test') + self._checker.check_art_test_executable('proxy_test') + self._checker.check_art_test_executable('quick_trampoline_entrypoints_test') + self._checker.check_art_test_executable('reference_queue_test') + self._checker.check_art_test_executable('reference_table_test') + self._checker.check_art_test_executable('reg_type_test') + self._checker.check_art_test_executable('rosalloc_space_random_test') + self._checker.check_art_test_executable('rosalloc_space_static_test') + self._checker.check_art_test_executable('runtime_callbacks_test') + self._checker.check_art_test_executable('runtime_test') + self._checker.check_art_test_executable('safe_math_test') + self._checker.check_art_test_executable('space_bitmap_test') + self._checker.check_art_test_executable('space_create_test') + self._checker.check_art_test_executable('stub_test') + self._checker.check_art_test_executable('subtype_check_info_test') + self._checker.check_art_test_executable('subtype_check_test') + self._checker.check_art_test_executable('system_weak_test') + self._checker.check_art_test_executable('task_processor_test') + self._checker.check_art_test_executable('thread_pool_test') + self._checker.check_art_test_executable('timing_logger_test') + self._checker.check_art_test_executable('transaction_test') + self._checker.check_art_test_executable('two_runtimes_test') + self._checker.check_art_test_executable('unstarted_runtime_test') + self._checker.check_art_test_executable('var_handle_test') + self._checker.check_art_test_executable('vdex_file_test') + + # Check sigchainlib tests. + self._checker.check_art_test_executable('sigchain_test') # Check ART test (internal) libraries. self._checker.check_native_library('libart-gtest') diff --git a/compiler/optimizing/codegen_test_utils.h b/compiler/optimizing/codegen_test_utils.h index 9d15f1f294..9fbd7d6fc0 100644 --- a/compiler/optimizing/codegen_test_utils.h +++ b/compiler/optimizing/codegen_test_utils.h @@ -313,25 +313,25 @@ static void RunCode(CodegenTargetConfig target_config, } #ifdef ART_ENABLE_CODEGEN_arm -inline CodeGenerator* create_codegen_arm_vixl32(HGraph* graph, const CompilerOptions& compiler_options) { +CodeGenerator* create_codegen_arm_vixl32(HGraph* graph, const CompilerOptions& compiler_options) { return new (graph->GetAllocator()) TestCodeGeneratorARMVIXL(graph, compiler_options); } #endif #ifdef ART_ENABLE_CODEGEN_arm64 -inline CodeGenerator* create_codegen_arm64(HGraph* graph, const CompilerOptions& compiler_options) { +CodeGenerator* create_codegen_arm64(HGraph* graph, const CompilerOptions& compiler_options) { return new (graph->GetAllocator()) TestCodeGeneratorARM64(graph, compiler_options); } #endif #ifdef ART_ENABLE_CODEGEN_x86 -inline CodeGenerator* create_codegen_x86(HGraph* graph, const CompilerOptions& compiler_options) { +CodeGenerator* create_codegen_x86(HGraph* graph, const CompilerOptions& compiler_options) { return new (graph->GetAllocator()) TestCodeGeneratorX86(graph, compiler_options); } #endif #ifdef ART_ENABLE_CODEGEN_x86_64 -inline CodeGenerator* create_codegen_x86_64(HGraph* graph, const CompilerOptions& compiler_options) { +CodeGenerator* create_codegen_x86_64(HGraph* graph, const CompilerOptions& compiler_options) { return new (graph->GetAllocator()) x86_64::CodeGeneratorX86_64(graph, compiler_options); } #endif diff --git a/compiler/optimizing/optimizing_unit_test.h b/compiler/optimizing/optimizing_unit_test.h index 670f91c8c9..eb262bc123 100644 --- a/compiler/optimizing/optimizing_unit_test.h +++ b/compiler/optimizing/optimizing_unit_test.h @@ -56,11 +56,11 @@ namespace art { #define FIVE_REGISTERS_CODE_ITEM(...) N_REGISTERS_CODE_ITEM(5, __VA_ARGS__) #define SIX_REGISTERS_CODE_ITEM(...) N_REGISTERS_CODE_ITEM(6, __VA_ARGS__) -inline LiveInterval* BuildInterval(const size_t ranges[][2], - size_t number_of_ranges, - ScopedArenaAllocator* allocator, - int reg = -1, - HInstruction* defined_by = nullptr) { +LiveInterval* BuildInterval(const size_t ranges[][2], + size_t number_of_ranges, + ScopedArenaAllocator* allocator, + int reg = -1, + HInstruction* defined_by = nullptr) { LiveInterval* interval = LiveInterval::MakeInterval(allocator, DataType::Type::kInt32, defined_by); if (defined_by != nullptr) { @@ -73,7 +73,7 @@ inline LiveInterval* BuildInterval(const size_t ranges[][2], return interval; } -inline void RemoveSuspendChecks(HGraph* graph) { +void RemoveSuspendChecks(HGraph* graph) { for (HBasicBlock* block : graph->GetBlocks()) { if (block != nullptr) { if (block->GetLoopInformation() != nullptr) { diff --git a/libartbase/base/common_art_test.cc b/libartbase/base/common_art_test.cc index 9c35dd420e..5f3574d403 100644 --- a/libartbase/base/common_art_test.cc +++ b/libartbase/base/common_art_test.cc @@ -462,8 +462,7 @@ std::vector<std::string> CommonArtTestImpl::GetLibCoreDexLocations( std::string prefix = GetAndroidBuildTop(); for (std::string& location : result) { CHECK_GT(location.size(), prefix.size()); - CHECK_EQ(location.compare(0u, prefix.size(), prefix), 0) - << " prefix=" << prefix << " location=" << location; + CHECK_EQ(location.compare(0u, prefix.size(), prefix), 0); location.erase(0u, prefix.size()); } } diff --git a/libartbase/base/utils_test.cc b/libartbase/base/utils_test.cc index e24794b096..631a225db4 100644 --- a/libartbase/base/utils_test.cc +++ b/libartbase/base/utils_test.cc @@ -108,7 +108,7 @@ TEST_F(UtilsTest, Split) { } TEST_F(UtilsTest, GetProcessStatus) { - EXPECT_EQ("art_libartbase_", GetProcessStatus("Name")); + EXPECT_EQ("utils_test", GetProcessStatus("Name")); EXPECT_EQ("R (running)", GetProcessStatus("State")); EXPECT_EQ("<unknown>", GetProcessStatus("tate")); EXPECT_EQ("<unknown>", GetProcessStatus("e")); diff --git a/libartpalette/Android.bp b/libartpalette/Android.bp index 775b7af6a4..b4b2e0bf75 100644 --- a/libartpalette/Android.bp +++ b/libartpalette/Android.bp @@ -101,4 +101,5 @@ art_cc_test { host_supported: true, srcs: ["apex/palette_test.cc"], shared_libs: ["libartpalette"], + test_per_src: true, } diff --git a/libdexfile/Android.bp b/libdexfile/Android.bp index 359a1445aa..fcfbef351e 100644 --- a/libdexfile/Android.bp +++ b/libdexfile/Android.bp @@ -350,6 +350,7 @@ cc_library { art_cc_test { name: "art_libdexfile_external_tests", host_supported: true, + test_per_src: true, // For consistency with other ART gtests. test_suites: ["general-tests"], srcs: [ "external/dex_file_ext_c_test.c", @@ -386,8 +387,9 @@ cc_library { ], } -// The same source file is used in two tests here. -// Its test target is test-art-{host,target}-gtest-art_libdexfile_support_tests. +// The same source file is used in two tests here, so unlike other ART gtests it +// doesn't use test_per_src. Its test target is +// test-art-{host,target}-gtest-art_libdexfile_support_tests. art_cc_test { name: "art_libdexfile_support_tests", defaults: [ @@ -454,8 +456,9 @@ cc_library_static { ], } -// The same source file is used in two tests here. -// Its test target is test-art-{host,target}-gtest-art_libdexfile_support_static_tests. +// The same source file is used in two tests here, so unlike other ART gtests it +// doesn't use test_per_src. Its test target is +// test-art-{host,target}-gtest-art_libdexfile_support_static_tests. art_cc_test { name: "art_libdexfile_support_static_tests", host_supported: true, diff --git a/libnativebridge/tests/Android.bp b/libnativebridge/tests/Android.bp index fe70a067b2..50bf0abd25 100644 --- a/libnativebridge/tests/Android.bp +++ b/libnativebridge/tests/Android.bp @@ -80,6 +80,7 @@ cc_defaults { "art_defaults", "art_test_defaults", ], + test_per_src: true, // TODO(mast): Split up art_gtest_defaults so that it can be used for the // following without pulling in lots of libs. target: { @@ -145,6 +146,7 @@ cc_test { "art_defaults", "art_test_defaults", ], + test_per_src: true, // TODO(mast): Split up art_gtest_defaults so that it can be used for the // following without pulling in lots of libs. target: { diff --git a/libnativeloader/test/Android.bp b/libnativeloader/test/Android.bp index 60c9f3cf77..72e8c0fbc5 100644 --- a/libnativeloader/test/Android.bp +++ b/libnativeloader/test/Android.bp @@ -77,6 +77,7 @@ cc_test { "art_defaults", "art_test_defaults", ], + test_per_src: true, srcs: [ "api_test.c", ], diff --git a/runtime/common_runtime_test.cc b/runtime/common_runtime_test.cc index 090b2bd801..a846346edd 100644 --- a/runtime/common_runtime_test.cc +++ b/runtime/common_runtime_test.cc @@ -48,7 +48,6 @@ #include "gc/space/image_space.h" #include "gc_root-inl.h" #include "gtest/gtest.h" -#include "gtest_extras/IsolateMain.h" #include "handle_scope-inl.h" #include "interpreter/unstarted_runtime.h" #include "jni/java_vm_ext.h" @@ -659,7 +658,7 @@ __attribute__((visibility("default"))) __attribute__((weak)) void ArtTestGlobalInit() { } -int main(int argc, char** argv, char** envp) { +int main(int argc, char **argv) { // Gtests can be very noisy. For example, an executable with multiple tests will trigger native // bridge warnings. The following line reduces the minimum log severity to ERROR and suppresses // everything else. In case you want to see all messages, comment out the line. @@ -669,6 +668,7 @@ int main(int argc, char** argv, char** envp) { art::InitLogging(argv, art::Runtime::Abort); art::MemMap::Init(); LOG(INFO) << "Running main() from common_runtime_test.cc..."; + testing::InitGoogleTest(&argc, argv); ArtTestGlobalInit(); - return IsolateMain(argc, argv, envp); + return RUN_ALL_TESTS(); } diff --git a/runtime/gc/space/dlmalloc_space_random_test.cc b/runtime/gc/space/dlmalloc_space_random_test.cc index b653bcf03a..92b56bda22 100644 --- a/runtime/gc/space/dlmalloc_space_random_test.cc +++ b/runtime/gc/space/dlmalloc_space_random_test.cc @@ -21,7 +21,6 @@ namespace art { namespace gc { namespace space { -namespace { MallocSpace* CreateDlMallocSpace(const std::string& name, size_t initial_size, @@ -33,7 +32,6 @@ MallocSpace* CreateDlMallocSpace(const std::string& name, TEST_SPACE_CREATE_FN_RANDOM(DlMallocSpace, CreateDlMallocSpace) -} // namespace } // namespace space } // namespace gc } // namespace art diff --git a/runtime/gc/space/dlmalloc_space_static_test.cc b/runtime/gc/space/dlmalloc_space_static_test.cc index 74dd765dfd..550d1bbe77 100644 --- a/runtime/gc/space/dlmalloc_space_static_test.cc +++ b/runtime/gc/space/dlmalloc_space_static_test.cc @@ -21,7 +21,6 @@ namespace art { namespace gc { namespace space { -namespace { MallocSpace* CreateDlMallocSpace(const std::string& name, size_t initial_size, @@ -33,7 +32,6 @@ MallocSpace* CreateDlMallocSpace(const std::string& name, TEST_SPACE_CREATE_FN_STATIC(DlMallocSpace, CreateDlMallocSpace) -} // namespace } // namespace space } // namespace gc } // namespace art diff --git a/runtime/gc/space/rosalloc_space_random_test.cc b/runtime/gc/space/rosalloc_space_random_test.cc index 3010b775f3..f0b3231b3a 100644 --- a/runtime/gc/space/rosalloc_space_random_test.cc +++ b/runtime/gc/space/rosalloc_space_random_test.cc @@ -21,7 +21,6 @@ namespace art { namespace gc { namespace space { -namespace { MallocSpace* CreateRosAllocSpace(const std::string& name, size_t initial_size, @@ -37,7 +36,6 @@ MallocSpace* CreateRosAllocSpace(const std::string& name, TEST_SPACE_CREATE_FN_RANDOM(RosAllocSpace, CreateRosAllocSpace) -} // namespace } // namespace space } // namespace gc } // namespace art diff --git a/runtime/gc/space/rosalloc_space_static_test.cc b/runtime/gc/space/rosalloc_space_static_test.cc index 860a4615e4..d7e7e90188 100644 --- a/runtime/gc/space/rosalloc_space_static_test.cc +++ b/runtime/gc/space/rosalloc_space_static_test.cc @@ -21,7 +21,6 @@ namespace art { namespace gc { namespace space { -namespace { MallocSpace* CreateRosAllocSpace(const std::string& name, size_t initial_size, @@ -36,7 +35,6 @@ MallocSpace* CreateRosAllocSpace(const std::string& name, TEST_SPACE_CREATE_FN_STATIC(RosAllocSpace, CreateRosAllocSpace) -} // namespace } // namespace space } // namespace gc } // namespace art diff --git a/runtime/proxy_test.h b/runtime/proxy_test.h index 266c0cf8d4..bdd902f9f2 100644 --- a/runtime/proxy_test.h +++ b/runtime/proxy_test.h @@ -33,11 +33,11 @@ namespace proxy_test { // Generate a proxy class with the given name and interfaces. This is a simplification from what // libcore does to fit to our test needs. We do not check for duplicated interfaces or methods and // we do not declare exceptions. -inline ObjPtr<mirror::Class> GenerateProxyClass(ScopedObjectAccess& soa, - jobject jclass_loader, - ClassLinker* class_linker, - const char* className, - const std::vector<Handle<mirror::Class>>& interfaces) +ObjPtr<mirror::Class> GenerateProxyClass(ScopedObjectAccess& soa, + jobject jclass_loader, + ClassLinker* class_linker, + const char* className, + const std::vector<Handle<mirror::Class>>& interfaces) REQUIRES_SHARED(Locks::mutator_lock_) { StackHandleScope<1> hs(soa.Self()); Handle<mirror::Class> javaLangObject = hs.NewHandle(GetClassRoot<mirror::Object>()); diff --git a/test/Android.bp b/test/Android.bp index 17f98224c2..43f1631eab 100644 --- a/test/Android.bp +++ b/test/Android.bp @@ -46,6 +46,7 @@ art_cc_defaults { art_cc_defaults { name: "art_gtest_defaults", + test_per_src: true, // These really are gtests, but the gtest library comes from libart-gtest.so gtest: false, defaults: [ @@ -114,10 +115,9 @@ art_cc_defaults { "libdexfiled", "libprofiled", "libartbased", - "liblog", ], static_libs: [ - "libgtest_isolated", + "libgtest", ], target: { android32: { @@ -150,7 +150,7 @@ art_cc_library { "libart-compiler-gtest", "libart-runtime-gtest", "libartbase-art-gtest", - "libgtest_isolated", + "libgtest", ], shared_libs: [ "libartd", @@ -160,7 +160,6 @@ art_cc_library { "libartbased", "libbase", "libbacktrace", - "liblog", ], target: { darwin: { diff --git a/tools/run-gtests.sh b/tools/run-gtests.sh index 084218f5f7..5a4ab3a777 100755 --- a/tools/run-gtests.sh +++ b/tools/run-gtests.sh @@ -56,7 +56,7 @@ for t in $tests; do env ANDROID_ART_ROOT="$android_art_root" \ ANDROID_I18N_ROOT="$android_i18n_root" \ ANDROID_TZDATA_ROOT="$android_tzdata_root" \ - $t --deadline_threshold_ms=600000 \ + $t \ || failing_tests+=("$t") done |