//
// 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.
//

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",
        "-g",
        "-Wall",
        "-Wextra",
        "-Wunused",
        "-Werror",
        "-fno-builtin",

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

        // For glibc.
        "-D__STDC_LIMIT_MACROS",
    ],
    // Ensure that the tests exercise shadow call stack support and
    // the hint space PAC/BTI instructions.
    arch: {
        arm64: {
            cflags: [
                "-fsanitize=shadow-call-stack",
                // Disable this option for now: see b/151372823
                //"-mbranch-protection=standard",
            ],
        },
    },
    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,

    product_variables: {
        experimental_mte: {
            cflags: ["-DANDROID_EXPERIMENTAL_MTE"],
        },
    },
}

// -----------------------------------------------------------------------------
// 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"],
    srcs: [
        "__aeabi_read_tp_test.cpp",
        "__cxa_atexit_test.cpp",
        "alloca_test.cpp",
        "android_get_device_api_level.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",
        "complex_force_long_double_test.cpp",
        "ctype_test.cpp",
        "dirent_test.cpp",
        "elf_test.cpp",
        "endian_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",
        "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",
        "math_test.cpp",
        "math_force_long_double_test.cpp",
        "membarrier_test.cpp",
        "mntent_test.cpp",
        "mte_test.cpp",
        "netdb_test.cpp",
        "net_if_test.cpp",
        "netinet_ether_test.cpp",
        "netinet_in_test.cpp",
        "netinet_ip_icmp_test.cpp",
        "netinet_udp_test.cpp",
        "nl_types_test.cpp",
        "poll_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",
        "strings_nofortify_test.cpp",
        "strings_test.cpp",
        "sstream_test.cpp",
        "sys_auxv_test.cpp",
        "sys_epoll_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_xattr_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",
        "utmp_test.cpp",
        "wchar_test.cpp",
        "wctype_test.cpp",
    ],

    include_dirs: [
        "bionic/libc",
    ],

    target: {
        bionic: {
            whole_static_libs: [
                "libasync_safe",
                "libprocinfo",
                "libsystemproperties",
            ],
        },
    },

    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",
    ],
    shared: {
        enabled: false,
    },
    cflags: [
        "-fno-emulated-tls",
    ],
    // With fuzzer builds, compiler instrumentation generates a reference to the
    // __sancov_lowest_stack variable, which (for now) is defined by the fuzzer
    // library as an emutls symbol. The -fno-emulated-tls flag above configures
    // the compiler to reference an ordinary ELF TLS __sancov_lowest_stack
    // symbol instead, which isn't defined. Disable the fuzzer for this test
    // until the platform is switched to ELF TLS.
    sanitize: {
        fuzzer: 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,
    },
    cflags: [
        "-fno-emulated-tls",
    ],
    // With fuzzer builds, compiler instrumentation generates a reference to the
    // __sancov_lowest_stack variable, which (for now) is defined by the fuzzer
    // library as an emutls symbol. The -fno-emulated-tls flag above configures
    // the compiler to reference an ordinary ELF TLS __sancov_lowest_stack
    // symbol instead, which isn't defined. Disable the fuzzer for this test
    // until the platform is switched to ELF TLS.
    sanitize: {
        fuzzer: 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",
    ],
}

cc_defaults {
    name: "bionic_fortify_tests_defaults",
    cflags: [
        "-U_FORTIFY_SOURCE",
    ],
    srcs: ["fortify_test_main.cpp"],
    target: {
        host: {
            clang_cflags: ["-D__clang__"],
        },
    },
}

// Ensures that FORTIFY checks aren't run when ASAN is on.
cc_test {
    name: "bionic-fortify-runtime-asan-test",
    defaults: [
        "bionic_clang_fortify_tests_w_flags",
    ],
    cflags: [
        "-Werror",
        "-D_FORTIFY_SOURCE=2",
    ],
    sanitize: {
        address: true,
    },
    srcs: ["clang_fortify_asan.cpp"],
}

// Ensure we don't use FORTIFY'ed functions with the static analyzer/clang-tidy:
// 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_tidy",
    defaults: [
        "bionic_clang_fortify_tests_w_flags",
    ],
    cflags: [
        "-Werror",
        "-D_FORTIFY_SOURCE=2",
        "-D__clang_analyzer__",
    ],
    srcs: ["clang_fortify_tests.cpp"],
}

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

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

cc_defaults {
    name: "bionic_new_fortify_tests_defaults",
    defaults: [
        "bionic_clang_fortify_tests_w_flags",
    ],
    cflags: [
        "-U_FORTIFY_SOURCE",
    ],
    srcs: ["clang_fortify_tests.cpp"],
    target: {
        host: {
            clang_cflags: ["-D__clang__"],
        },
    },
}

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

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


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

cc_test_library {
    name: "libBionicLoaderTests",
    defaults: [
        "bionic_tests_defaults",
        "llvm-defaults",
    ],
    srcs: [
        "atexit_test.cpp",
        "dl_test.cpp",
        "dlfcn_symlink_support.cpp",
        "dlfcn_test.cpp",
        "link_test.cpp",
        "pthread_dlfcn_test.cpp",
    ],
    static_libs: [
        "libbase",
    ],
    include_dirs: [
        "bionic/libc",
    ],
    shared: {
        enabled: false,
    },
    target: {
        android: {
            srcs: [
                "cfi_test.cpp",
                "dlext_test.cpp",
                "libdl_test.cpp",
            ],
            static_libs: [
                "libmeminfo",
                "libprocinfo",
                "libziparchive",
                "libLLVMObject",
                "libLLVMBitReader",
                "libLLVMMC",
                "libLLVMMCParser",
                "libLLVMCore",
                "libLLVMSupport",
            ],
        },
    },
}

// -----------------------------------------------------------------------------
// 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_cts.cpp",
        "gtest_main.cpp",
    ],
    shared: {
        enabled: false,
    },
    whole_static_libs: [
        "libgtest_isolated",
    ],
}

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

    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",
        "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.
                "libbase",
                "libmeminfo",
                "libziparchive",
                "libz",
                "libutils",
                "libLLVMObject",
                "libLLVMBitReader",
                "libLLVMMC",
                "libLLVMMCParser",
                "libLLVMCore",
                "libLLVMSupport",
            ],
            ldflags: [
                "-Wl,--rpath,${ORIGIN}/../bionic-loader-test-libs",
                "-Wl,--enable-new-dtags",
            ],
        },
    },

    required: [
        "cfi_test_helper",
        "cfi_test_helper2",
        "elftls_dlopen_ie_error_helper",
        "exec_linker_helper",
        "exec_linker_helper_lib",
        "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",
        "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",
        "librelocations-ANDROID_RELR",
        "librelocations-ANDROID_REL",
        "librelocations-RELR",
        "librelocations-fat",
        "libsysv-hash-table-library",
        "libtestshared",
        "libtest_atexit",
        "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_dlsym",
        "libtest_check_order_reloc_root_1",
        "libtest_check_order_reloc_root_2",
        "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_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_main",
        "libtest_dlopen_from_ctor",
        "libtest_dlopen_weak_undefined_func",
        "libtest_dlsym_df_1_global",
        "libtest_dlsym_from_this_child",
        "libtest_dlsym_from_this_grandchild",
        "libtest_dlsym_from_this",
        "libtest_dlsym_weak_func",
        "libtest_dt_runpath_d",
        "libtest_elftls_dynamic",
        "libtest_elftls_dynamic_filler_1",
        "libtest_elftls_dynamic_filler_2",
        "libtest_elftls_dynamic_filler_3",
        "libtest_elftls_shared_var",
        "libtest_elftls_shared_var_ie",
        "libtest_elftls_tprel",
        "libtest_empty",
        "libtest_ifunc_variable_impl",
        "libtest_ifunc_variable",
        "libtest_ifunc",
        "libtest_init_fini_order_child",
        "libtest_init_fini_order_grand_child",
        "libtest_init_fini_order_root2",
        "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_1",
        "libtest_relo_check_dt_needed_order_2",
        "libtest_relo_check_dt_needed_order",
        "libtest_simple",
        "libtest_two_parents_child",
        "libtest_two_parents_parent1",
        "libtest_two_parents_parent2",
        "libtest_versioned_lib",
        "libtest_versioned_libv1",
        "libtest_versioned_libv2",
        "libtest_versioned_otherlib_empty",
        "libtest_versioned_otherlib",
        "libtest_versioned_uselibv1",
        "libtest_versioned_uselibv2_other",
        "libtest_versioned_uselibv2",
        "libtest_versioned_uselibv3_other",
        "libtest_with_dependency_loop_a",
        "libtest_with_dependency_loop_b",
        "libtest_with_dependency_loop_c",
        "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",
        "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",
    ],
}

cc_test {
    name: "bionic-unit-tests",
    defaults: [
        "bionic_unit_tests_defaults",
    ],
}

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,

    srcs: [
        "malloc_stress_test.cpp",
    ],

    shared_libs: [
        "libbase",
    ],

    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"],
    host_supported: false,

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

        // The Bionic allocator has its own C++ API. It isn't packaged into its
        // own library, so it can only be tested when it's part of libc.a.
        "bionic_allocator_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",
}

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

    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,
        },
    },
}

subdirs = ["*"]
