diff options
Diffstat (limited to 'tests/Android.bp')
-rw-r--r-- | tests/Android.bp | 423 |
1 files changed, 86 insertions, 337 deletions
diff --git a/tests/Android.bp b/tests/Android.bp index 476b8f5fb..8b1eebc3f 100644 --- a/tests/Android.bp +++ b/tests/Android.bp @@ -14,35 +14,14 @@ // limitations under the License. // -package { - default_applicable_licenses: ["bionic_tests_license"], -} - -license { - name: "bionic_tests_license", - visibility: [":__subpackages__"], - license_kinds: [ - "SPDX-license-identifier-Apache-2.0", - "SPDX-license-identifier-BSD", - ], - license_text: [ - "NOTICE", - ], -} - cc_defaults { name: "bionic_tests_defaults", host_supported: true, + cpp_std: "experimental", target: { darwin: { enabled: false, }, - android: { - header_libs: ["bionic_libc_platform_headers"], - }, - linux_bionic: { - header_libs: ["bionic_libc_platform_headers"], - }, }, cflags: [ "-fstack-protector-all", @@ -56,241 +35,25 @@ cc_defaults { // We want to test deprecated API too. "-Wno-deprecated-declarations", - // Needed to test pthread_internal_t layout. - "-Wno-invalid-offsetof", - // For glibc. "-D__STDC_LIMIT_MACROS", ], - header_libs: ["libcutils_headers"], - // Ensure that the tests exercise shadow call stack support and - // the hint space PAC/BTI instructions. + header_libs: ["bionic_libc_platform_headers"], + // Make the bionic tests implicitly test bionic's shadow call stack support. arch: { arm64: { - cflags: [ - "-fsanitize=shadow-call-stack", - // Disable this option for now: see b/151372823 - //"-mbranch-protection=standard", - ], + cflags: ["-fsanitize=shadow-call-stack"], }, }, stl: "libc++", sanitize: { address: false, }, - - // Use the bootstrap version of bionic because some tests call private APIs - // that aren't exposed by the APEX bionic stubs. bootstrap: true, -} - -// ----------------------------------------------------------------------------- -// Prebuilt shared libraries for use in tests. -// ----------------------------------------------------------------------------- - -cc_prebuilt_test_library_shared { - name: "libtest_invalid-rw_load_segment", - strip: { - none: true, - }, - check_elf_files: false, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", - arch: { - arm: { - srcs: ["prebuilt-elf-files/arm/libtest_invalid-rw_load_segment.so"], - }, - arm64: { - srcs: ["prebuilt-elf-files/arm64/libtest_invalid-rw_load_segment.so"], - }, - x86: { - srcs: ["prebuilt-elf-files/x86/libtest_invalid-rw_load_segment.so"], - }, - x86_64: { - srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-rw_load_segment.so"], - }, - }, -} - -cc_prebuilt_test_library_shared { - name: "libtest_invalid-unaligned_shdr_offset", - strip: { - none: true, - }, - check_elf_files: false, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", - arch: { - arm: { - srcs: ["prebuilt-elf-files/arm/libtest_invalid-unaligned_shdr_offset.so"], - }, - arm64: { - srcs: ["prebuilt-elf-files/arm64/libtest_invalid-unaligned_shdr_offset.so"], - }, - x86: { - srcs: ["prebuilt-elf-files/x86/libtest_invalid-unaligned_shdr_offset.so"], - }, - x86_64: { - srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-unaligned_shdr_offset.so"], - }, - }, -} - -cc_prebuilt_test_library_shared { - name: "libtest_invalid-zero_shentsize", - strip: { - none: true, - }, - check_elf_files: false, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", - arch: { - arm: { - srcs: ["prebuilt-elf-files/arm/libtest_invalid-zero_shentsize.so"], - }, - arm64: { - srcs: ["prebuilt-elf-files/arm64/libtest_invalid-zero_shentsize.so"], - }, - x86: { - srcs: ["prebuilt-elf-files/x86/libtest_invalid-zero_shentsize.so"], - }, - x86_64: { - srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-zero_shentsize.so"], - }, - }, -} - -cc_prebuilt_test_library_shared { - name: "libtest_invalid-zero_shstrndx", - strip: { - none: true, - }, - check_elf_files: false, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", - arch: { - arm: { - srcs: ["prebuilt-elf-files/arm/libtest_invalid-zero_shstrndx.so"], - }, - arm64: { - srcs: ["prebuilt-elf-files/arm64/libtest_invalid-zero_shstrndx.so"], - }, - x86: { - srcs: ["prebuilt-elf-files/x86/libtest_invalid-zero_shstrndx.so"], - }, - x86_64: { - srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-zero_shstrndx.so"], - }, - }, -} - -cc_prebuilt_test_library_shared { - name: "libtest_invalid-empty_shdr_table", - strip: { - none: true, - }, - check_elf_files: false, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", - arch: { - arm: { - srcs: ["prebuilt-elf-files/arm/libtest_invalid-empty_shdr_table.so"], - }, - arm64: { - srcs: ["prebuilt-elf-files/arm64/libtest_invalid-empty_shdr_table.so"], - }, - x86: { - srcs: ["prebuilt-elf-files/x86/libtest_invalid-empty_shdr_table.so"], - }, - x86_64: { - srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-empty_shdr_table.so"], - }, - }, -} - -cc_prebuilt_test_library_shared { - name: "libtest_invalid-zero_shdr_table_offset", - strip: { - none: true, - }, - check_elf_files: false, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", - arch: { - arm: { - srcs: ["prebuilt-elf-files/arm/libtest_invalid-zero_shdr_table_offset.so"], - }, - arm64: { - srcs: ["prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_offset.so"], - }, - x86: { - srcs: ["prebuilt-elf-files/x86/libtest_invalid-zero_shdr_table_offset.so"], - }, - x86_64: { - srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_offset.so"], - }, - }, -} - -cc_prebuilt_test_library_shared { - name: "libtest_invalid-zero_shdr_table_content", - strip: { - none: true, - }, - check_elf_files: false, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", - arch: { - arm: { - srcs: ["prebuilt-elf-files/arm/libtest_invalid-zero_shdr_table_content.so"], - }, - arm64: { - srcs: ["prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_content.so"], - }, - x86: { - srcs: ["prebuilt-elf-files/x86/libtest_invalid-zero_shdr_table_content.so"], - }, - x86_64: { - srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_content.so"], - }, - }, -} -cc_prebuilt_test_library_shared { - name: "libtest_invalid-textrels", - strip: { - none: true, - }, - check_elf_files: false, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", - arch: { - arm: { - srcs: ["prebuilt-elf-files/arm/libtest_invalid-textrels.so"], - }, - arm64: { - srcs: ["prebuilt-elf-files/arm64/libtest_invalid-textrels.so"], - }, - x86: { - srcs: ["prebuilt-elf-files/x86/libtest_invalid-textrels.so"], - }, - x86_64: { - srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-textrels.so"], - }, - }, -} - -cc_prebuilt_test_library_shared { - name: "libtest_invalid-textrels2", - strip: { - none: true, - }, - check_elf_files: false, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", - arch: { - arm: { - srcs: ["prebuilt-elf-files/arm/libtest_invalid-textrels2.so"], - }, - arm64: { - srcs: ["prebuilt-elf-files/arm64/libtest_invalid-textrels2.so"], - }, - x86: { - srcs: ["prebuilt-elf-files/x86/libtest_invalid-textrels2.so"], - }, - x86_64: { - srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-textrels2.so"], + product_variables: { + experimental_mte: { + cflags: ["-DANDROID_EXPERIMENTAL_MTE"], }, }, } @@ -317,7 +80,6 @@ cc_test_library { srcs: [ "__aeabi_read_tp_test.cpp", "__cxa_atexit_test.cpp", - "__cxa_demangle_test.cpp", "alloca_test.cpp", "android_get_device_api_level.cpp", "arpa_inet_test.cpp", @@ -341,14 +103,12 @@ cc_test_library { "fenv_test.cpp", "_FILE_OFFSET_BITS_test.cpp", "float_test.cpp", - "fnmatch_test.cpp", "ftw_test.cpp", "getauxval_test.cpp", "getcwd_test.cpp", "glob_test.cpp", "grp_pwd_test.cpp", "grp_pwd_file_test.cpp", - "heap_tagging_level_test.cpp", "iconv_test.cpp", "ifaddrs_test.cpp", "ifunc_test.cpp", @@ -375,9 +135,7 @@ cc_test_library { "netinet_ip_icmp_test.cpp", "netinet_udp_test.cpp", "nl_types_test.cpp", - "pidfd_test.cpp", "poll_test.cpp", - "prio_ctor_test.cpp", "pthread_test.cpp", "pty_test.cpp", "regex_test.cpp", @@ -408,9 +166,7 @@ cc_test_library { "string_posix_strerror_r_test.cpp", "strings_nofortify_test.cpp", "strings_test.cpp", - "struct_layout_test.cpp", "sstream_test.cpp", - "sys_auxv_test.cpp", "sys_epoll_test.cpp", "sys_mman_test.cpp", "sys_msg_test.cpp", @@ -440,7 +196,6 @@ cc_test_library { "sys_uio_test.cpp", "sys_un_test.cpp", "sys_vfs_test.cpp", - "sys_wait_test.cpp", "sys_xattr_test.cpp", "system_properties_test.cpp", "system_properties_test2.cpp", @@ -467,6 +222,9 @@ cc_test_library { "libprocinfo", "libsystemproperties", ], + srcs: [ + "tagged_pointers_test.cpp", + ], }, }, @@ -567,9 +325,6 @@ cc_defaults { "-Wno-strlcpy-strlcat-size", "-Wno-strncat-size", ], - static_libs: [ - "libbase", - ], } cc_defaults { @@ -578,10 +333,6 @@ cc_defaults { "-U_FORTIFY_SOURCE", ], srcs: ["fortify_test_main.cpp"], - static_libs: [ - "libbase", - ], - tidy: false, target: { host: { clang_cflags: ["-D__clang__"], @@ -620,7 +371,6 @@ cc_test_library { "-D__clang_analyzer__", ], srcs: ["clang_fortify_tests.cpp"], - tidy: false, } cc_test_library { @@ -662,7 +412,6 @@ cc_defaults { "-U_FORTIFY_SOURCE", ], srcs: ["clang_fortify_tests.cpp"], - tidy: false, target: { host: { clang_cflags: ["-D__clang__"], @@ -845,6 +594,7 @@ cc_defaults { ], static_libs: [ // The order of these libraries matters, do not shuffle them. + "libbase", "libmeminfo", "libziparchive", "libz", @@ -869,95 +619,66 @@ cc_defaults { "elftls_dlopen_ie_error_helper", "exec_linker_helper", "exec_linker_helper_lib", - "heap_tagging_async_helper", - "heap_tagging_disabled_helper", - "heap_tagging_static_async_helper", - "heap_tagging_static_disabled_helper", - "heap_tagging_static_sync_helper", - "heap_tagging_sync_helper", - "ld_config_test_helper", - "ld_config_test_helper_lib1", - "ld_config_test_helper_lib2", - "ld_config_test_helper_lib3", - "ld_preload_test_helper", - "ld_preload_test_helper_lib1", - "ld_preload_test_helper_lib2", + "libtest_dt_runpath_a", + "libtest_dt_runpath_b", + "libtest_dt_runpath_c", + "libtest_dt_runpath_x", + "libtest_dt_runpath_y", "libatest_simple_zip", "libcfi-test", "libcfi-test-bad", - "libdl_preempt_test_1", - "libdl_preempt_test_2", - "libdl_test_df_1_global", - "libdlext_test", "libdlext_test_different_soname", "libdlext_test_fd", "libdlext_test_norelro", "libdlext_test_recursive", "libdlext_test_runpath_zip_zipaligned", + "libdlext_test", "libdlext_test_zip", "libdlext_test_zip_zipaligned", + "libdl_preempt_test_1", + "libdl_preempt_test_2", + "libdl_test_df_1_global", "libgnu-hash-table-library", - "libns_hidden_child_app", - "libns_hidden_child_global", - "libns_hidden_child_internal", - "libns_hidden_child_public", - "libnstest_dlopened", - "libnstest_ns_a_public1", - "libnstest_ns_a_public1_internal", - "libnstest_ns_b_public2", - "libnstest_ns_b_public3", - "libnstest_private", - "libnstest_private_external", - "libnstest_public", - "libnstest_public_internal", - "libnstest_root", - "libnstest_root_not_isolated", - "librelocations-ANDROID_REL", "librelocations-ANDROID_RELR", + "librelocations-ANDROID_REL", "librelocations-RELR", "librelocations-fat", - "libsegment_gap_inner", - "libsegment_gap_outer", "libsysv-hash-table-library", + "libtestshared", "libtest_atexit", - "libtest_check_order_dlsym", "libtest_check_order_dlsym_1_left", "libtest_check_order_dlsym_2_right", "libtest_check_order_dlsym_3_c", "libtest_check_order_dlsym_a", "libtest_check_order_dlsym_b", "libtest_check_order_dlsym_d", - "libtest_check_order_reloc_root", + "libtest_check_order_dlsym", "libtest_check_order_reloc_root_1", "libtest_check_order_reloc_root_2", - "libtest_check_order_reloc_siblings", + "libtest_check_order_reloc_root", "libtest_check_order_reloc_siblings_1", "libtest_check_order_reloc_siblings_2", "libtest_check_order_reloc_siblings_3", "libtest_check_order_reloc_siblings_a", "libtest_check_order_reloc_siblings_b", - "libtest_check_order_reloc_siblings_c", "libtest_check_order_reloc_siblings_c_1", "libtest_check_order_reloc_siblings_c_2", + "libtest_check_order_reloc_siblings_c", "libtest_check_order_reloc_siblings_d", "libtest_check_order_reloc_siblings_e", "libtest_check_order_reloc_siblings_f", + "libtest_check_order_reloc_siblings", "libtest_check_rtld_next_from_library", "libtest_dlopen_df_1_global", - "libtest_dlopen_from_ctor", "libtest_dlopen_from_ctor_main", + "libtest_dlopen_from_ctor", "libtest_dlopen_weak_undefined_func", "libtest_dlsym_df_1_global", - "libtest_dlsym_from_this", "libtest_dlsym_from_this_child", "libtest_dlsym_from_this_grandchild", + "libtest_dlsym_from_this", "libtest_dlsym_weak_func", - "libtest_dt_runpath_a", - "libtest_dt_runpath_b", - "libtest_dt_runpath_c", "libtest_dt_runpath_d", - "libtest_dt_runpath_x", - "libtest_dt_runpath_y", "libtest_elftls_dynamic", "libtest_elftls_dynamic_filler_1", "libtest_elftls_dynamic_filler_2", @@ -966,60 +687,81 @@ cc_defaults { "libtest_elftls_shared_var_ie", "libtest_elftls_tprel", "libtest_empty", - "libtest_ifunc", - "libtest_ifunc_variable", "libtest_ifunc_variable_impl", - "libtest_indirect_thread_local_dtor", + "libtest_ifunc_variable", + "libtest_ifunc", "libtest_init_fini_order_child", "libtest_init_fini_order_grand_child", - "libtest_init_fini_order_root", "libtest_init_fini_order_root2", - "libtest_invalid-empty_shdr_table", - "libtest_invalid-rw_load_segment", - "libtest_invalid-textrels", - "libtest_invalid-textrels2", - "libtest_invalid-unaligned_shdr_offset", - "libtest_invalid-zero_shdr_table_content", - "libtest_invalid-zero_shdr_table_offset", - "libtest_invalid-zero_shentsize", - "libtest_invalid-zero_shstrndx", - "libtest_missing_symbol", - "libtest_missing_symbol_child_private", + "libtest_init_fini_order_root", "libtest_missing_symbol_child_public", + "libtest_missing_symbol_child_private", "libtest_missing_symbol_root", + "libtest_missing_symbol", "libtest_nodelete_1", "libtest_nodelete_2", "libtest_nodelete_dt_flags_1", "libtest_pthread_atfork", - "libtest_relo_check_dt_needed_order", "libtest_relo_check_dt_needed_order_1", "libtest_relo_check_dt_needed_order_2", + "libtest_relo_check_dt_needed_order", "libtest_simple", - "libtest_thread_local_dtor", - "libtest_thread_local_dtor2", "libtest_two_parents_child", "libtest_two_parents_parent1", "libtest_two_parents_parent2", "libtest_versioned_lib", "libtest_versioned_libv1", "libtest_versioned_libv2", - "libtest_versioned_otherlib", "libtest_versioned_otherlib_empty", + "libtest_versioned_otherlib", "libtest_versioned_uselibv1", - "libtest_versioned_uselibv2", "libtest_versioned_uselibv2_other", + "libtest_versioned_uselibv2", "libtest_versioned_uselibv3_other", - "libtest_with_dependency", - "libtest_with_dependency_loop", "libtest_with_dependency_loop_a", "libtest_with_dependency_loop_b", "libtest_with_dependency_loop_c", - "libtestshared", - "ns_hidden_child_helper", + "libtest_with_dependency_loop", + "libtest_with_dependency", + "libtest_indirect_thread_local_dtor", + "libtest_invalid-empty_shdr_table.so", + "libtest_invalid-rw_load_segment.so", + "libtest_invalid-unaligned_shdr_offset.so", + "libtest_invalid-zero_shdr_table_content.so", + "libtest_invalid-zero_shdr_table_offset.so", + "libtest_invalid-zero_shentsize.so", + "libtest_invalid-zero_shstrndx.so", + "libtest_invalid-textrels.so", + "libtest_invalid-textrels2.so", + "libtest_thread_local_dtor", + "libtest_thread_local_dtor2", "preinit_getauxval_test_helper", "preinit_syscall_test_helper", - "thread_exit_cb_helper", - "tls_properties_helper", + "libnstest_private_external", + "libnstest_dlopened", + "libnstest_private", + "libnstest_root_not_isolated", + "libnstest_root", + "libnstest_public", + "libnstest_public_internal", + "libnstest_ns_a_public1", + "libnstest_ns_a_public1_internal", + "libnstest_ns_b_public2", + "libnstest_ns_b_public3", + "ns_hidden_child_helper", + "libns_hidden_child_global", + "libns_hidden_child_internal", + "libns_hidden_child_public", + "libns_hidden_child_app", + "libsegment_gap_inner", + "libsegment_gap_outer", + "ld_preload_test_helper", + "ld_preload_test_helper_lib1", + "ld_preload_test_helper_lib2", + "ld_config_test_helper", + "ld_config_test_helper_lib1", + "ld_config_test_helper_lib2", + "ld_config_test_helper_lib3", ], } @@ -1031,6 +773,17 @@ cc_test { } cc_test { + name: "bionic-unit-tests-scudo", + defaults: [ + "bionic_unit_tests_defaults", + ], + + shared_libs: [ + "libc_scudo", + ], +} + +cc_test { name: "bionic-stress-tests", defaults: [ "bionic_tests_defaults", @@ -1038,10 +791,6 @@ cc_test { // For now, these tests run forever, so do not use the isolation framework. isolated: false, - // Running forever, do not consider unit test. - test_options: { - unit_test: false, - }, srcs: [ "malloc_stress_test.cpp", |