//
// Copyright (C) 2012 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

package {
    default_team: "trendy_team_native_tools_libraries",
    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,
    target: {
        darwin: {
            enabled: false,
        },
        android: {
            header_libs: ["bionic_libc_platform_headers"],
            shared_libs: ["libdl_android"],
         },
        linux_bionic: {
            header_libs: ["bionic_libc_platform_headers"],
        },
    },
    cflags: [
        "-fstack-protector-all",
        "-g",
        "-Wall",
        "-Wextra",
        "-Wunused",
        "-Werror",
        "-fno-builtin",

        // We want to test deprecated API too.
        "-Wno-deprecated-declarations",

        // Needed to test pthread_internal_t layout.
        "-Wno-invalid-offsetof",

        // This warning does not provide any benefit to the tests.
        "-Wno-reorder-init-list",
    ],
    header_libs: [
        "libcutils_headers",
        "gwp_asan_headers",
    ],
    stl: "libc++",

    // Ensure that the tests exercise shadow call stack support.
    // We don't use `scs: true` here because that would give us a second
    // variant of this library where we actually just want to say "this
    // library should always be built this way".
    arch: {
        arm64: {
            cflags: ["-fsanitize=shadow-call-stack"],
        },
        riscv64: {
            cflags: ["-fsanitize=shadow-call-stack"],
        },
    },
    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.
// -----------------------------------------------------------------------------

filegroup {
    name: "bionic_prebuilt_test_elf_files_arm64",
    srcs: [
        "prebuilt-elf-files/arm64/*.so",
    ],
}

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"],
        },
        riscv64: {
            srcs: ["prebuilt-elf-files/riscv64/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"],
        },
        riscv64: {
            srcs: ["prebuilt-elf-files/riscv64/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"],
        },
        riscv64: {
            srcs: ["prebuilt-elf-files/riscv64/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"],
        },
        riscv64: {
            srcs: ["prebuilt-elf-files/riscv64/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"],
        },
        riscv64: {
            srcs: ["prebuilt-elf-files/riscv64/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"],
        },
        riscv64: {
            srcs: ["prebuilt-elf-files/riscv64/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"],
        },
        riscv64: {
            srcs: ["prebuilt-elf-files/riscv64/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"],
        },
        riscv64: {
            srcs: ["prebuilt-elf-files/riscv64/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"],
        },
        riscv64: {
            srcs: ["prebuilt-elf-files/riscv64/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"],
        },
    },
}

cc_prebuilt_test_library_shared {
    name: "libtest_invalid-local-tls",
    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-local-tls.so"],
        },
        arm64: {
            srcs: ["prebuilt-elf-files/arm64/libtest_invalid-local-tls.so"],
        },
        // No riscv64 here because the gold linker never had riscv64 support,
        // and this is a test for a gold-specific bug.
        x86: {
            srcs: ["prebuilt-elf-files/x86/libtest_invalid-local-tls.so"],
        },
        x86_64: {
            srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-local-tls.so"],
        },
    },
}

// -----------------------------------------------------------------------------
// All standard tests.
// -----------------------------------------------------------------------------

// Test diagnostics emitted by clang. The library that results is useless; we
// just want to run '-Xclang -verify', which will fail if the diagnostics don't
// match up with what the source file says they should be.
cc_test_library {
    name: "clang_diagnostic_tests",
    cflags: [
        "-Xclang -verify",
    ],
    srcs: ["sys_ioctl_diag_test.cpp"],
}

cc_test_library {
    name: "libBionicStandardTests",
    defaults: [
        "bionic_tests_defaults",
        "large_system_property_node_defaults",
    ],
    srcs: [
        "__aeabi_read_tp_test.cpp",
        "__cxa_atexit_test.cpp",
        "__cxa_demangle_test.cpp",
        "alloca_test.cpp",
        "android_get_device_api_level.cpp",
        "android_set_abort_message_test.cpp",
        "arpa_inet_test.cpp",
        "async_safe_test.cpp",
        "assert_test.cpp",
        "buffer_tests.cpp",
        "bug_26110743_test.cpp",
        "byteswap_test.cpp",
        "complex_test.cpp",
        // Disabled while investigating
        // b/378304366, b/375525252
        // "cpu_target_features_test.cpp",
        "ctype_test.cpp",
        "dirent_test.cpp",
        "elf_test.cpp",
        "endian_test.cpp",
        "err_test.cpp",
        "errno_test.cpp",
        "error_test.cpp",
        "eventfd_test.cpp",
        "fcntl_test.cpp",
        "fdsan_test.cpp",
        "fdtrack_test.cpp",
        "fenv_test.cpp",
        "_FILE_OFFSET_BITS_test.cpp",
        "float_test.cpp",
        "fnmatch_test.cpp",
        "fts_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",
        "inttypes_test.cpp",
        "iso646_test.c",
        "langinfo_test.cpp",
        "leak_test.cpp",
        "libgen_basename_test.cpp",
        "libgen_test.cpp",
        "limits_test.cpp",
        "linux_swab_test.cpp",
        "locale_test.cpp",
        "malloc_iterate_test.cpp",
        "malloc_test.cpp",
        "malloc_test_with_usable_size.cpp",
        "math_test.cpp",
        "membarrier_test.cpp",
        "memtag_globals_test.cpp",
        "memtag_stack_test.cpp",
        "mntent_test.cpp",
        "mte_test.cpp",
        "netdb_test.cpp",
        "net_if_test.cpp",
        "netinet_ether_test.cpp",
        "netinet_igmp_test.cpp",
        "netinet_in_test.cpp",
        "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",
        "resolv_test.cpp",
        "sched_test.cpp",
        "scs_test.cpp",
        "scsi_sg_test.cpp",
        "search_test.cpp",
        "semaphore_test.cpp",
        "setjmp_test.cpp",
        "signal_test.cpp",
        "spawn_test.cpp",
        "stack_protector_test.cpp",
        "stack_protector_test_helper.cpp",
        "stack_unwinding_test.cpp",
        "stdalign_test.cpp",
        "stdarg_test.cpp",
        "stdatomic_test.cpp",
        "stdbool_test.c",
        "stdint_test.cpp",
        "stdio_nofortify_test.cpp",
        "stdio_test.cpp",
        "stdio_ext_test.cpp",
        "stdlib_test.cpp",
        "stdnoreturn_test.cpp",
        "string_nofortify_test.cpp",
        "string_test.cpp",
        "string_posix_strerror_r_test.cpp",
        "string_posix_strerror_r_wrapper.cpp",
        "strings_nofortify_test.cpp",
        "strings_test.cpp",
        "struct_layout_test.cpp",
        "sstream_test.cpp",
        "sys_auxv_test.cpp",
        "sys_cachectl_test.cpp",
        "sys_epoll_test.cpp",
        "sys_hwprobe_test.cpp",
        "sys_io_test.cpp",
        "sys_mman_test.cpp",
        "sys_msg_test.cpp",
        "sys_param_test.cpp",
        "sys_personality_test.cpp",
        "sys_prctl_test.cpp",
        "sys_procfs_test.cpp",
        "sys_ptrace_test.cpp",
        "sys_quota_test.cpp",
        "sys_random_test.cpp",
        "sys_resource_test.cpp",
        "sys_select_test.cpp",
        "sys_sem_test.cpp",
        "sys_sendfile_test.cpp",
        "sys_shm_test.cpp",
        "sys_signalfd_test.cpp",
        "sys_socket_test.cpp",
        "sys_stat_test.cpp",
        "sys_statvfs_test.cpp",
        "sys_syscall_test.cpp",
        "sys_sysinfo_test.cpp",
        "sys_sysmacros_test.cpp",
        "sys_time_test.cpp",
        "sys_timex_test.cpp",
        "sys_ttydefaults_test.cpp",
        "sys_types_test.cpp",
        "sys_uio_test.cpp",
        "sys_un_test.cpp",
        "sys_vfs_test.cpp",
        "sys_wait_test.cpp",
        "sys_xattr_test.cpp",
        "syslog_test.cpp",
        "system_properties_test.cpp",
        "system_properties_test2.cpp",
        "termios_test.cpp",
        "tgmath_test.c",
        "threads_test.cpp",
        "time_test.cpp",
        "uchar_test.cpp",
        "unistd_nofortify_test.cpp",
        "unistd_test.cpp",
        "utils.cpp",
        "utime_test.cpp",
        "utmp_test.cpp",
        "utmpx_test.cpp",
        "wchar_test.cpp",
        "wctype_test.cpp",
    ],

    include_dirs: [
        "bionic/libc",
    ],

    target: {
        bionic: {
            whole_static_libs: [
                "libasync_safe",
                "libprocinfo",
                "libsystemproperties",
            ],
        },
        musl: {
            exclude_srcs: [
                // musl doesn't have error.h
                "error_test.cpp",

                // musl doesn't define noreturn for C++
                "stdnoreturn_test.cpp",

                // unsupported relocation type 37
                "ifunc_test.cpp",

                // musl #defines utmp to utmpx, causing a collision with
                // utmpx_test.cpp
                "utmp_test.cpp",
            ],
        },
    },

    static_libs: [
        "libtinyxml2",
        "liblog",
        "libbase",
    ],
    shared: {
        enabled: false,
    },

    generated_headers: ["generated_android_ids"],
}

cc_test_library {
    name: "libBionicElfTlsTests",
    defaults: ["bionic_tests_defaults"],
    srcs: [
        "elftls_test.cpp",
    ],
    include_dirs: [
        "bionic/libc",
    ],
    static_libs: [
        "libbase",
    ],
    shared: {
        enabled: false,
    },
}

cc_test_library {
    name: "libBionicElfTlsLoaderTests",
    defaults: ["bionic_tests_defaults"],
    srcs: [
        "elftls_dl_test.cpp",
    ],
    include_dirs: [
        "bionic/libc",
    ],
    static_libs: [
        "liblog",
        "libbase",
    ],
    shared: {
        enabled: false,
    },
}

cc_test_library {
    name: "libBionicFramePointerTests",
    defaults: ["bionic_tests_defaults"],
    srcs: [
        "android_unsafe_frame_pointer_chase_test.cpp",
    ],
    include_dirs: [
        "bionic/libc",
    ],
    cflags: [
        "-fno-omit-frame-pointer",
    ],
}

// -----------------------------------------------------------------------------
// Fortify tests.
// -----------------------------------------------------------------------------

cc_defaults {
    name: "bionic_clang_fortify_tests_w_flags",
    cflags: [
        "-Wno-builtin-memcpy-chk-size",
        "-Wno-format-security",
        "-Wno-format-zero-length",
        "-Wno-fortify-source",
        "-Wno-memset-transposed-args",
        "-Wno-strlcpy-strlcat-size",
        "-Wno-strncat-size",
    ],
    static_libs: [
        "libbase",
    ],
}

cc_defaults {
    name: "bionic_fortify_tests_defaults",
    defaults: [
        "bionic_tests_defaults",
    ],
    cflags: [
        "-U_FORTIFY_SOURCE",
        // Without this, HWASan will not recognize (i.e. will not detect errors involving)
        // calls to mem* functions.
        "-fbuiltin",
    ],
    srcs: ["fortify_test_main.cpp"],
    shared: {
        enabled: false,
    },
    static_libs: [
        "libbase",
    ],
    target: {
        musl: {
            // Musl doesn't have fortify
            enabled: false,
        },
    },
}

// Ensure we don't use FORTIFY'ed functions with the clang static analyzer:
// it can confuse these tools pretty easily. If this builds successfully, then
// __clang_analyzer__ overrode FORTIFY. Otherwise, FORTIFY was incorrectly
// enabled. The library that results from building this is meant to be unused.
cc_test_library {
    name: "fortify_disabled_for_clang_analyzer",
    defaults: [
        "bionic_clang_fortify_tests_w_flags",
    ],
    cflags: [
        "-Werror",
        "-U_FORTIFY_SOURCE",
        "-D_FORTIFY_SOURCE=3",
        "-D__clang_analyzer__",
    ],
    srcs: ["clang_fortify_tests.cpp"],
}

cc_test_library {
    name: "libfortify1-tests-clang",
    defaults: [
        "bionic_fortify_tests_defaults",
    ],
    cflags: [
        "-D_FORTIFY_SOURCE=1",
        "-DTEST_NAME=Fortify1_clang",
    ],
}

cc_test_library {
    name: "libfortify2-tests-clang",
    defaults: [
        "bionic_fortify_tests_defaults",
    ],
    cflags: [
        "-D_FORTIFY_SOURCE=2",
        "-DTEST_NAME=Fortify2_clang",
    ],
}

cc_test_library {
    name: "libfortify3-tests-clang",
    defaults: [
        "bionic_fortify_tests_defaults",
    ],
    cflags: [
        "-D_FORTIFY_SOURCE=3",
        "-DTEST_NAME=Fortify3_clang",
    ],
}

cc_defaults {
    name: "bionic_new_fortify_tests_defaults",
    defaults: [
        "bionic_clang_fortify_tests_w_flags",
        "bionic_tests_defaults",
    ],
    cflags: [
        "-U_FORTIFY_SOURCE",
        // Without this, HWASan will not recognize (i.e. will not detect errors involving)
        // calls to mem* functions.
        "-fbuiltin",
    ],
    shared: {
        enabled: false,
    },
    srcs: ["clang_fortify_tests.cpp"],
}

cc_test_library {
    name: "libfortify1-new-tests-clang",
    defaults: [
        "bionic_new_fortify_tests_defaults",
    ],
    cflags: [
        "-D_FORTIFY_SOURCE=1",
        "-DTEST_NAME=Fortify1_clang_new",
    ],
}

cc_test_library {
    name: "libfortify2-new-tests-clang",
    defaults: [
        "bionic_new_fortify_tests_defaults",
    ],
    cflags: [
        "-D_FORTIFY_SOURCE=2",
        "-DTEST_NAME=Fortify2_clang_new",
    ],
}

cc_test_library {
    name: "libfortify3-new-tests-clang",
    defaults: [
        "bionic_new_fortify_tests_defaults",
    ],
    cflags: [
        "-D_FORTIFY_SOURCE=3",
        "-DTEST_NAME=Fortify3_clang_new",
    ],
}

cc_defaults {
    name: "bionic_fortify_c_tests_defaults",
    defaults: [
        "bionic_clang_fortify_tests_w_flags",
        "bionic_tests_defaults",
    ],
    cflags: [
        "-U_FORTIFY_SOURCE",
        // -fbuiltin is required here to counteract -fno-builtin from
        // `bionic_tests_defaults`. With `-fno-builtin`, Clang won't
        // const-evaluate calls to `strlen`, which is tested for here.
        "-fbuiltin",
    ],
    srcs: [
        "clang_fortify_c_only_tests.c",
    ],
    shared: {
        enabled: false,
    },
}

cc_test_library {
    name: "libfortify1-c-tests-clang",
    defaults: ["bionic_fortify_c_tests_defaults"],
    cflags: ["-D_FORTIFY_SOURCE=1"],
}

cc_test_library {
    name: "libfortify2-c-tests-clang",
    defaults: ["bionic_fortify_c_tests_defaults"],
    cflags: ["-D_FORTIFY_SOURCE=2"],
}

cc_test_library {
    name: "libfortify3-c-tests-clang",
    defaults: ["bionic_fortify_c_tests_defaults"],
    cflags: ["-D_FORTIFY_SOURCE=3"],
}

// -----------------------------------------------------------------------------
// Library of all tests (excluding the dynamic linker tests).
// -----------------------------------------------------------------------------
cc_test_library {
    name: "libBionicTests",
    defaults: ["bionic_tests_defaults"],
    host_supported: false,
    whole_static_libs: [
        "libBionicStandardTests",
        "libBionicElfTlsTests",
        "libBionicFramePointerTests",
        "libfortify1-c-tests-clang",
        "libfortify1-tests-clang",
        "libfortify1-new-tests-clang",
        "libfortify2-c-tests-clang",
        "libfortify2-tests-clang",
        "libfortify2-new-tests-clang",
        "libfortify3-c-tests-clang",
        "libfortify3-tests-clang",
        "libfortify3-new-tests-clang",
    ],
    shared: {
        enabled: false,
    },
}

cc_test_library {
    name: "libBionicLoaderTests",
    defaults: [
        "bionic_tests_defaults",
    ],
    srcs: [
        "atexit_test.cpp",
        "dl_test.cpp",
        "dlfcn_symlink_support.cpp",
        "dlfcn_test.cpp",
        "execinfo_test.cpp",
        "link_test.cpp",
        "page_size_16kib_compat_test.cpp",
        "pthread_dlfcn_test.cpp",
    ],
    static_libs: [
        "libbase",
        "libprocinfo",
    ],
    include_dirs: [
        "bionic/libc",
        "bionic/tests/libs",
    ],
    shared: {
        enabled: false,
    },
    target: {
        android: {
            srcs: [
                "cfi_test.cpp",
                "dlext_test.cpp",
                "libdl_test.cpp",
            ],
            static_libs: [
                "libmeminfo",
                "libprocinfo",
                "libziparchive",
            ],
        },
    },
}

// -----------------------------------------------------------------------------
// Library of bionic customized gtest main function, with normal gtest output format,
// which is needed by bionic cts test.
// -----------------------------------------------------------------------------
cc_test_library {
    name: "libBionicCtsGtestMain",
    defaults: ["bionic_tests_defaults"],
    srcs: [
        "gtest_globals.cpp",
        "gtest_main.cpp",
    ],
    shared: {
        enabled: false,
    },
    whole_static_libs: [
        "libbase",
        "libgtest_isolated",
    ],
}

cc_defaults {
    name: "bionic_unit_tests_data",
    data_bins: [
        "cfi_test_helper",
        "cfi_test_helper2",
        "elftls_align_test_helper",
        "elftls_dlopen_ie_error_helper",
        "elftls_dtv_resize_helper",
        "elftls_skew_align_test_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",
        "stack_tagging_helper",
        "stack_tagging_static_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",
        "memtag_globals_binary",
        "memtag_globals_binary_static",
        "memtag_globals_dso",
        "mte_globals_relr_regression_test_b_314038442",
        "mte_globals_relr_regression_test_b_314038442_mte",
        "ns_hidden_child_helper",
        "preinit_getauxval_test_helper",
        "preinit_syscall_test_helper",
        "thread_exit_cb_helper",
        "tls_properties_helper",
    ],
    data_libs: [
        "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_zip",
        "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-RELR",
        "librelocations-fat",
        "libsegment_gap_inner",
        "libsegment_gap_outer",
        "libsysv-hash-table-library",
        "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_reloc_root_1",
        "libtest_check_order_reloc_root_2",
        "libtest_check_order_reloc_siblings",
        "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_d",
        "libtest_check_order_reloc_siblings_e",
        "libtest_check_order_reloc_siblings_f",
        "libtest_check_rtld_next_from_library",
        "libtest_dlopen_df_1_global",
        "libtest_dlopen_from_ctor",
        "libtest_dlopen_from_ctor_main",
        "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_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_elf_max_page_size_4kib",
        "libtest_elftls_dynamic",
        "libtest_elftls_dynamic_filler_1",
        "libtest_elftls_dynamic_filler_2",
        "libtest_elftls_dynamic_filler_3",
        "libtest_elftls_dynamic_filler_4",
        "libtest_elftls_dynamic_filler_5",
        "libtest_elftls_shared_var",
        "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_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-local-tls",
        "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_missing_symbol_child_public",
        "libtest_missing_symbol_root",
        "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_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_uselibv1",
        "libtest_versioned_uselibv2",
        "libtest_versioned_uselibv2_other",
        "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",
    ],
}

// -----------------------------------------------------------------------------
// Tests for the device using bionic's .so. Run with:
//   adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests
//   adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests
// -----------------------------------------------------------------------------
cc_defaults {
    name: "bionic_unit_tests_defaults",
    host_supported: false,
    gtest: false,

    defaults: [
        "bionic_tests_defaults",
        "bionic_unit_tests_data",
    ],

    whole_static_libs: [
        "libBionicTests",
        "libBionicLoaderTests",
        "libBionicElfTlsLoaderTests",
    ],

    static_libs: [
        "libtinyxml2",
        "liblog",
        "libbase",
        "libgtest_isolated",
    ],

    srcs: [
        // TODO: Include __cxa_thread_atexit_test.cpp to glibc tests once it is upgraded (glibc 2.18+)
        "__cxa_thread_atexit_test.cpp",
        "gtest_globals.cpp",
        "gtest_main.cpp",
        "gwp_asan_test.cpp",
        "thread_local_test.cpp",
    ],

    conlyflags: [
        "-fexceptions",
        "-fnon-call-exceptions",
    ],

    ldflags: ["-Wl,--export-dynamic"],

    include_dirs: ["bionic/libc"],

    stl: "libc++_static",

    target: {
        android: {
            shared_libs: [
                "ld-android",
                "libdl",
                "libdl_android",
                "libdl_preempt_test_1",
                "libdl_preempt_test_2",
                "libdl_test_df_1_global",
                "libtest_elftls_shared_var",
                "libtest_elftls_tprel",
            ],
            static_libs: [
                // The order of these libraries matters, do not shuffle them.
                "libmeminfo",
                "libziparchive",
                "libz",
                "libutils",
            ],
            ldflags: [
                "-Wl,--rpath,${ORIGIN}/bionic-loader-test-libs",
                "-Wl,--enable-new-dtags",
            ],
        },
    },
}

cc_test {
    name: "bionic-unit-tests",
    defaults: [
        "bionic_unit_tests_defaults",
    ],
    test_suites: ["general-tests"],
    data: [
        ":libdlext_test_runpath_zip_zipaligned",
        ":libdlext_test_zip_zipaligned",
    ],
}

cc_defaults {
    name: "hwasan_test_defaults",
    enabled: false,
    // This does not use bionic_tests_defaults because it is not supported on
    // host.
    arch: {
        arm64: {
            enabled: true,
        },
    },
    sanitize: {
        hwaddress: true,
    },
    srcs: [
        "hwasan_test.cpp",
    ],
    data_libs: [
        "libtest_simple_hwasan",
        "libtest_simple_hwasan_nohwasan",
    ],
    header_libs: ["bionic_libc_platform_headers"],
    test_suites: ["general-tests"],
}

cc_test {
    name: "hwasan_test",
    defaults: ["hwasan_test_defaults"],
    shared_libs: [
        "libbase",
    ],
}

cc_test {
    name: "hwasan_test_static",
    defaults: ["hwasan_test_defaults"],
    static_libs: [
        "libbase",
    ],
    static_executable: true,
    cflags: ["-DHWASAN_TEST_STATIC"],
}

cc_test {
    name: "memtag_stack_dlopen_test",
    enabled: false,
    // This does not use bionic_tests_defaults because it is not supported on
    // host.
    arch: {
        arm64: {
            enabled: true,
        },
    },
    sanitize: {
        memtag_heap: true,
        memtag_stack: false,
    },
    srcs: [
        "memtag_stack_dlopen_test.cpp",
    ],
    shared_libs: [
        "libbase",
    ],
    data_libs: [
        "libtest_simple_memtag_stack",
        "libtest_depends_on_simple_memtag_stack",
    ],
    data_bins: [
        "testbinary_depends_on_simple_memtag_stack",
        "testbinary_depends_on_depends_on_simple_memtag_stack",
        "testbinary_is_stack_mte_after_dlopen",
    ],
    header_libs: ["bionic_libc_platform_headers"],
    test_suites: ["general-tests"],
}

cc_test {
    name: "memtag_stack_abi_test",
    enabled: false,
    // This does not use bionic_tests_defaults because it is not supported on
    // host.
    arch: {
        arm64: {
            enabled: true,
        },
    },
    // We don't use `sanitize:` so we generate the appropriate ELF note, but
    // still support non-MTE devices.
    // TODO(fmayer): also add a test that enables stack MTE for MTE devices,
    // which would test for more bugs.
    ldflags: ["-fsanitize=memtag-stack"],
    // Turn off all other sanitizers from SANITIZE_TARGET.
    sanitize: {
        never: true,
    },
    shared_libs: [
        "libbase",
    ],
    srcs: [
        "memtag_stack_abi_test.cpp",
    ],
    header_libs: ["bionic_libc_platform_headers"],
    test_suites: ["general-tests"],
}

cc_test {
    name: "bionic-stress-tests",
    defaults: [
        "bionic_tests_defaults",
    ],

    // 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",
    ],

    shared_libs: [
        "libbase",
        "liblog",
    ],

    target: {
        android: {
            static_libs: [
                "libmeminfo",
                "libprocinfo",
            ],
        },
    },
}

// -----------------------------------------------------------------------------
// Tests for the device linked against bionic's static library. Run with:
//   adb shell /data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static
//   adb shell /data/nativetest64/bionic-unit-tests-static/bionic-unit-tests-static
// -----------------------------------------------------------------------------
cc_test {
    name: "bionic-unit-tests-static",
    gtest: false,
    defaults: ["bionic_tests_defaults"],
    test_suites: ["general-tests"],
    host_supported: false,

    srcs: [
        "gtest_preinit_debuggerd.cpp",
        "gtest_globals.cpp",
        "gtest_main.cpp",

        // Test internal parts of Bionic that aren't exposed via libc.so.
        "bionic_allocator_test.cpp",
        "static_tls_layout_test.cpp",
    ],
    include_dirs: [
        "bionic/libc",
    ],
    whole_static_libs: [
        "libBionicTests",
    ],

    static_libs: [
        "libm",
        "libc",
        "libdl",
        "libtinyxml2",
        "liblog",
        "libbase",
        "libdebuggerd_handler",
        "libgtest_isolated",
        "libtest_elftls_shared_var",
        "libtest_elftls_tprel",
    ],

    static_executable: true,
    stl: "libc++_static",
    // Clang cannot build ifunc with LTO.
    // http://b/203737712
    lto: {
        never: true,
    },
    data_bins: [
        "elftls_align_test_helper",
        "elftls_skew_align_test_helper",
        "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",
        "memtag_globals_binary",
        "memtag_globals_binary_static",
        "memtag_globals_dso",
        "mte_globals_relr_regression_test_b_314038442",
        "mte_globals_relr_regression_test_b_314038442_mte",
        "stack_tagging_helper",
        "stack_tagging_static_helper",
    ],
}

// -----------------------------------------------------------------------------
// Tests to run on the host and linked against glibc. Run with:
//   cd bionic/tests; mm bionic-unit-tests-glibc-run
// -----------------------------------------------------------------------------

cc_test_host {
    name: "bionic-unit-tests-glibc",
    gtest: false,
    defaults: ["bionic_tests_defaults"],

    srcs: [
        "atexit_test.cpp",
        "dlfcn_symlink_support.cpp",
        "dlfcn_test.cpp",
        "dl_test.cpp",
        "execinfo_test.cpp",
        "link_test.cpp",
        "gtest_globals.cpp",
        "gtest_main.cpp",
        "pthread_dlfcn_test.cpp",
    ],

    shared_libs: [
        "libdl_preempt_test_1",
        "libdl_preempt_test_2",
        "libdl_test_df_1_global",
        "libtest_elftls_shared_var",
        "libtest_elftls_tprel",
    ],

    whole_static_libs: [
        "libBionicStandardTests",
        "libBionicElfTlsTests",
        "libBionicElfTlsLoaderTests",
        "libfortify1-tests-clang",
        "libfortify2-tests-clang",
        "libfortify3-tests-clang",
    ],

    static_libs: [
        "libbase",
        "liblog",
        "libcutils",
        "libgtest_isolated",
    ],

    host_ldlibs: [
        "-lresolv",
        "-lutil",
    ],

    include_dirs: [
        "bionic/libc",
    ],

    ldflags: [
        "-Wl,--rpath,${ORIGIN}/../bionic-loader-test-libs",
        "-Wl,--export-dynamic",
    ],

    sanitize: {
        never: false,
    },

    target: {
        linux_bionic: {
            enabled: false,
        },
        musl: {
            exclude_static_libs: [
                // Musl doesn't have fortify
                "libfortify1-tests-clang",
                "libfortify2-tests-clang",
                "libfortify3-tests-clang",
            ],
        },
    },
}

cc_defaults {
    name: "bionic_compile_time_tests_defaults",
    enabled: true,
    clang_verify: true,
    cflags: [
        "-Wall",
        "-Wno-error",
        "-fno-color-diagnostics",
        "-ferror-limit=10000",
        "-DCOMPILATION_TESTS=1",
        "-Wformat-nonliteral",
        "-U_FORTIFY_SOURCE",
    ],
    srcs: ["clang_fortify_tests.cpp"],
}

cc_library_static {
    name: "bionic-compile-time-tests1-clang++",
    defaults: [
        "bionic_compile_time_tests_defaults",
    ],
    cppflags: [
        "-D_FORTIFY_SOURCE=1",
    ],
}

cc_library_static {
    name: "bionic-compile-time-tests2-clang++",
    defaults: [
        "bionic_compile_time_tests_defaults",
    ],
    cppflags: [
        "-D_FORTIFY_SOURCE=2",
    ],
}

cc_library_static {
    name: "bionic-compile-time-tests3-clang++",
    defaults: [
        "bionic_compile_time_tests_defaults",
    ],
    cppflags: [
        "-D_FORTIFY_SOURCE=3",
    ],
}
