Home | History | Annotate | Download | only in tests
      1 //
      2 // Copyright (C) 2012 The Android Open Source Project
      3 //
      4 // Licensed under the Apache License, Version 2.0 (the "License");
      5 // you may not use this file except in compliance with the License.
      6 // You may obtain a copy of the License at
      7 //
      8 //      http://www.apache.org/licenses/LICENSE-2.0
      9 //
     10 // Unless required by applicable law or agreed to in writing, software
     11 // distributed under the License is distributed on an "AS IS" BASIS,
     12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 // See the License for the specific language governing permissions and
     14 // limitations under the License.
     15 //
     16 
     17 cc_defaults {
     18     name: "bionic_tests_defaults",
     19     host_supported: true,
     20     cpp_std: "experimental",
     21     target: {
     22         darwin: {
     23             enabled: false,
     24         },
     25     },
     26     cflags: [
     27         "-fstack-protector-all",
     28         "-g",
     29         "-Wall",
     30         "-Wextra",
     31         "-Wunused",
     32         "-Werror",
     33         "-fno-builtin",
     34 
     35         // We want to test deprecated API too.
     36         "-Wno-deprecated-declarations",
     37 
     38         // For glibc.
     39         "-D__STDC_LIMIT_MACROS",
     40     ],
     41     // Make the bionic tests implicitly test bionic's shadow call stack support.
     42     arch: {
     43         arm64: {
     44            cflags: ["-fsanitize=shadow-call-stack"],
     45         },
     46     },
     47     stl: "libc++",
     48     sanitize: {
     49         address: false,
     50     },
     51     bootstrap: true,
     52 }
     53 
     54 // -----------------------------------------------------------------------------
     55 // All standard tests.
     56 // -----------------------------------------------------------------------------
     57 
     58 // Test diagnostics emitted by clang. The library that results is useless; we
     59 // just want to run '-Xclang -verify', which will fail if the diagnostics don't
     60 // match up with what the source file says they should be.
     61 cc_test_library {
     62     name: "clang_diagnostic_tests",
     63     cflags: [
     64       "-Xclang",
     65       "-verify",
     66     ],
     67     srcs: ["sys_ioctl_diag_test.cpp"],
     68 }
     69 
     70 cc_test_library {
     71     name: "libBionicStandardTests",
     72     defaults: ["bionic_tests_defaults"],
     73     srcs: [
     74         "__aeabi_read_tp_test.cpp",
     75         "alloca_test.cpp",
     76         "android_get_device_api_level.cpp",
     77         "arpa_inet_test.cpp",
     78         "async_safe_test.cpp",
     79         "assert_test.cpp",
     80         "buffer_tests.cpp",
     81         "bug_26110743_test.cpp",
     82         "byteswap_test.cpp",
     83         "complex_test.cpp",
     84         "complex_force_long_double_test.cpp",
     85         "ctype_test.cpp",
     86         "dirent_test.cpp",
     87         "elf_test.cpp",
     88         "endian_test.cpp",
     89         "errno_test.cpp",
     90         "error_test.cpp",
     91         "eventfd_test.cpp",
     92         "fcntl_test.cpp",
     93         "fdsan_test.cpp",
     94         "fenv_test.cpp",
     95         "float_test.cpp",
     96         "ftw_test.cpp",
     97         "getauxval_test.cpp",
     98         "getcwd_test.cpp",
     99         "glob_test.cpp",
    100         "grp_pwd_test.cpp",
    101         "grp_pwd_file_test.cpp",
    102         "iconv_test.cpp",
    103         "ifaddrs_test.cpp",
    104         "ifunc_test.cpp",
    105         "inttypes_test.cpp",
    106         "iso646_test.c",
    107         "langinfo_test.cpp",
    108         "leak_test.cpp",
    109         "libgen_basename_test.cpp",
    110         "libgen_test.cpp",
    111         "limits_test.cpp",
    112         "linux_swab_test.cpp",
    113         "locale_test.cpp",
    114         "malloc_iterate_test.cpp",
    115         "malloc_test.cpp",
    116         "math_test.cpp",
    117         "math_force_long_double_test.cpp",
    118         "membarrier_test.cpp",
    119         "mntent_test.cpp",
    120         "netdb_test.cpp",
    121         "net_if_test.cpp",
    122         "netinet_ether_test.cpp",
    123         "netinet_in_test.cpp",
    124         "netinet_ip_icmp_test.cpp",
    125         "netinet_udp_test.cpp",
    126         "nl_types_test.cpp",
    127         "poll_test.cpp",
    128         "pthread_test.cpp",
    129         "pty_test.cpp",
    130         "regex_test.cpp",
    131         "resolv_test.cpp",
    132         "sched_test.cpp",
    133         "scs_test.cpp",
    134         "scsi_sg_test.cpp",
    135         "search_test.cpp",
    136         "semaphore_test.cpp",
    137         "setjmp_test.cpp",
    138         "signal_test.cpp",
    139         "spawn_test.cpp",
    140         "stack_protector_test.cpp",
    141         "stack_protector_test_helper.cpp",
    142         "stack_unwinding_test.cpp",
    143         "stdalign_test.cpp",
    144         "stdarg_test.cpp",
    145         "stdatomic_test.cpp",
    146         "stdbool_test.c",
    147         "stdint_test.cpp",
    148         "stdio_nofortify_test.cpp",
    149         "stdio_test.cpp",
    150         "stdio_ext_test.cpp",
    151         "stdlib_test.cpp",
    152         "stdnoreturn_test.cpp",
    153         "string_nofortify_test.cpp",
    154         "string_test.cpp",
    155         "string_posix_strerror_r_test.cpp",
    156         "strings_nofortify_test.cpp",
    157         "strings_test.cpp",
    158         "sstream_test.cpp",
    159         "sys_epoll_test.cpp",
    160         "sys_mman_test.cpp",
    161         "sys_msg_test.cpp",
    162         "sys_param_test.cpp",
    163         "sys_personality_test.cpp",
    164         "sys_prctl_test.cpp",
    165         "sys_procfs_test.cpp",
    166         "sys_ptrace_test.cpp",
    167         "sys_quota_test.cpp",
    168         "sys_random_test.cpp",
    169         "sys_resource_test.cpp",
    170         "sys_select_test.cpp",
    171         "sys_sem_test.cpp",
    172         "sys_sendfile_test.cpp",
    173         "sys_shm_test.cpp",
    174         "sys_signalfd_test.cpp",
    175         "sys_socket_test.cpp",
    176         "sys_stat_test.cpp",
    177         "sys_statvfs_test.cpp",
    178         "sys_syscall_test.cpp",
    179         "sys_sysinfo_test.cpp",
    180         "sys_sysmacros_test.cpp",
    181         "sys_time_test.cpp",
    182         "sys_timex_test.cpp",
    183         "sys_ttydefaults_test.cpp",
    184         "sys_types_test.cpp",
    185         "sys_uio_test.cpp",
    186         "sys_un_test.cpp",
    187         "sys_vfs_test.cpp",
    188         "sys_xattr_test.cpp",
    189         "system_properties_test.cpp",
    190         "system_properties_test2.cpp",
    191         "termios_test.cpp",
    192         "tgmath_test.c",
    193         "time_test.cpp",
    194         "uchar_test.cpp",
    195         "unistd_nofortify_test.cpp",
    196         "unistd_test.cpp",
    197         "utmp_test.cpp",
    198         "wchar_test.cpp",
    199         "wctype_test.cpp",
    200     ],
    201 
    202     include_dirs: [
    203         "bionic/libc",
    204     ],
    205 
    206     target: {
    207         bionic: {
    208             whole_static_libs: [
    209                 "libasync_safe",
    210                 "libprocinfo",
    211                 "libsystemproperties",
    212             ],
    213         },
    214     },
    215 
    216     static_libs: [
    217         "libtinyxml2",
    218         "liblog",
    219         "libbase",
    220     ],
    221     shared: {
    222         enabled: false,
    223     },
    224 
    225     generated_headers: ["generated_android_ids"],
    226 }
    227 
    228 cc_test_library {
    229     name: "libBionicElfTlsTests",
    230     defaults: ["bionic_tests_defaults"],
    231     srcs: [
    232         "elftls_test.cpp",
    233     ],
    234     include_dirs: [
    235         "bionic/libc",
    236     ],
    237     shared: {
    238         enabled: false,
    239     },
    240     cflags: [
    241         "-fno-emulated-tls",
    242     ],
    243 }
    244 
    245 cc_test_library {
    246     name: "libBionicElfTlsLoaderTests",
    247     defaults: ["bionic_tests_defaults"],
    248     srcs: [
    249         "elftls_dl_test.cpp",
    250     ],
    251     include_dirs: [
    252         "bionic/libc",
    253     ],
    254     static_libs: [
    255         "liblog",
    256         "libbase",
    257     ],
    258     shared: {
    259         enabled: false,
    260     },
    261     cflags: [
    262         "-fno-emulated-tls",
    263     ],
    264 }
    265 
    266 // -----------------------------------------------------------------------------
    267 // Fortify tests.
    268 // -----------------------------------------------------------------------------
    269 
    270 cc_defaults {
    271     name: "bionic_fortify_tests_defaults",
    272     cflags: [
    273         "-U_FORTIFY_SOURCE",
    274     ],
    275     srcs: ["fortify_test_main.cpp"],
    276     target: {
    277         host: {
    278             clang_cflags: ["-D__clang__"],
    279         },
    280     },
    281 }
    282 
    283 // If building this fails, then we have both FORTIFY and ASAN enabled, which
    284 // isn't desirable. (Ideally, we'd emit FORTIFY diagnostics even with ASAN
    285 // enabled, but that's not a reality today.) This is meant to be otherwise
    286 // unused.
    287 cc_test_library {
    288     name: "fortify_disabled_for_asan",
    289     cflags: [
    290         "-Werror",
    291         "-D_FORTIFY_SOURCE=2",
    292         // "sanitize: address" doesn't work on platforms where libasan isn't
    293         // enabled. Since the intent is just to build this, we can get away with
    294         // passing this flag on its own.
    295         "-fsanitize=address",
    296     ],
    297     // Ignore that we don't have ASAN symbols linked in.
    298     allow_undefined_symbols: true,
    299     srcs: ["fortify_filecheck_diagnostics_test.cpp"],
    300 }
    301 
    302 // Ensure we don't use FORTIFY'ed functions with the static analyzer/clang-tidy:
    303 // it can confuse these tools pretty easily. If this builds successfully, then
    304 // __clang_analyzer__ overrode FORTIFY. Otherwise, FORTIFY was incorrectly
    305 // enabled. The library that results from building this is meant to be unused.
    306 cc_test_library {
    307     name: "fortify_disabled_for_tidy",
    308     cflags: [
    309         "-Werror",
    310         "-D_FORTIFY_SOURCE=2",
    311         "-D__clang_analyzer__",
    312     ],
    313     srcs: ["fortify_filecheck_diagnostics_test.cpp"],
    314 }
    315 
    316 cc_test_library {
    317     name: "libfortify1-tests-clang",
    318     defaults: [
    319         "bionic_fortify_tests_defaults",
    320         "bionic_tests_defaults",
    321     ],
    322     cflags: [
    323         "-D_FORTIFY_SOURCE=1",
    324         "-DTEST_NAME=Fortify1_clang",
    325     ],
    326     shared: {
    327         enabled: false,
    328     },
    329 }
    330 
    331 cc_test_library {
    332     name: "libfortify2-tests-clang",
    333     defaults: [
    334         "bionic_fortify_tests_defaults",
    335         "bionic_tests_defaults",
    336     ],
    337     cflags: [
    338         "-D_FORTIFY_SOURCE=2",
    339         "-DTEST_NAME=Fortify2_clang",
    340     ],
    341     shared: {
    342         enabled: false,
    343     },
    344 }
    345 
    346 // -----------------------------------------------------------------------------
    347 // Library of all tests (excluding the dynamic linker tests).
    348 // -----------------------------------------------------------------------------
    349 cc_test_library {
    350     name: "libBionicTests",
    351     defaults: ["bionic_tests_defaults"],
    352     whole_static_libs: [
    353         "libBionicStandardTests",
    354         "libBionicElfTlsTests",
    355         "libfortify1-tests-clang",
    356         "libfortify2-tests-clang",
    357     ],
    358     shared: {
    359         enabled: false,
    360     },
    361 }
    362 
    363 cc_test_library {
    364     name: "libBionicLoaderTests",
    365     defaults: [
    366         "bionic_tests_defaults",
    367         "llvm-defaults",
    368     ],
    369     srcs: [
    370         "atexit_test.cpp",
    371         "dl_test.cpp",
    372         "dlfcn_symlink_support.cpp",
    373         "dlfcn_test.cpp",
    374         "link_test.cpp",
    375         "pthread_dlfcn_test.cpp",
    376     ],
    377     static_libs: [
    378         "libbase",
    379     ],
    380     include_dirs: [
    381         "bionic/libc",
    382     ],
    383     shared: {
    384         enabled: false,
    385     },
    386     target: {
    387         android: {
    388             srcs: [
    389                 "cfi_test.cpp",
    390                 "dlext_test.cpp",
    391                 "libdl_test.cpp",
    392             ],
    393             static_libs: [
    394                 "libmeminfo",
    395                 "libprocinfo",
    396                 "libziparchive",
    397                 "libLLVMObject",
    398                 "libLLVMBitReader",
    399                 "libLLVMMC",
    400                 "libLLVMMCParser",
    401                 "libLLVMCore",
    402                 "libLLVMSupport",
    403             ],
    404         },
    405     },
    406 }
    407 
    408 // -----------------------------------------------------------------------------
    409 // Library of bionic customized gtest main function, with normal gtest output format,
    410 // which is needed by bionic cts test.
    411 // -----------------------------------------------------------------------------
    412 cc_test_library {
    413     name: "libBionicCtsGtestMain",
    414     defaults: ["bionic_tests_defaults"],
    415     srcs: [
    416         "gtest_globals_cts.cpp",
    417         "gtest_main.cpp",
    418     ],
    419     shared: {
    420         enabled: false,
    421     },
    422     whole_static_libs: [
    423         "libgtest_isolated",
    424     ],
    425 }
    426 
    427 // -----------------------------------------------------------------------------
    428 // Tests for the device using bionic's .so. Run with:
    429 //   adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests
    430 //   adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests
    431 // -----------------------------------------------------------------------------
    432 cc_defaults {
    433     name: "bionic_unit_tests_defaults",
    434     host_supported: false,
    435     gtest: false,
    436 
    437     defaults: [
    438         "bionic_tests_defaults",
    439     ],
    440 
    441     whole_static_libs: [
    442         "libBionicTests",
    443         "libBionicLoaderTests",
    444         "libBionicElfTlsLoaderTests",
    445     ],
    446 
    447     static_libs: [
    448         "libtinyxml2",
    449         "liblog",
    450         "libbase",
    451         "libgtest_isolated",
    452     ],
    453 
    454     srcs: [
    455         // TODO: Include __cxa_thread_atexit_test.cpp to glibc tests once it is upgraded (glibc 2.18+)
    456         "__cxa_thread_atexit_test.cpp",
    457         "gtest_globals.cpp",
    458         "gtest_main.cpp",
    459         "thread_local_test.cpp",
    460     ],
    461 
    462     conlyflags: [
    463         "-fexceptions",
    464         "-fnon-call-exceptions",
    465     ],
    466 
    467     ldflags: ["-Wl,--export-dynamic"],
    468 
    469     include_dirs: ["bionic/libc"],
    470 
    471     stl: "libc++_static",
    472 
    473     target: {
    474         android: {
    475             shared_libs: [
    476                 "ld-android",
    477                 "libandroidicu",
    478                 "libdl",
    479                 "libdl_android",
    480                 "libdl_preempt_test_1",
    481                 "libdl_preempt_test_2",
    482                 "libdl_test_df_1_global",
    483                 "libtest_elftls_shared_var",
    484                 "libtest_elftls_tprel",
    485             ],
    486             static_libs: [
    487                 // The order of these libraries matters, do not shuffle them.
    488                 "libbase",
    489                 "libmeminfo",
    490                 "libziparchive",
    491                 "libz",
    492                 "libutils",
    493                 "libLLVMObject",
    494                 "libLLVMBitReader",
    495                 "libLLVMMC",
    496                 "libLLVMMCParser",
    497                 "libLLVMCore",
    498                 "libLLVMSupport",
    499             ],
    500             ldflags: [
    501                 "-Wl,--rpath,${ORIGIN}/../bionic-loader-test-libs",
    502                 "-Wl,--enable-new-dtags",
    503             ],
    504         },
    505     },
    506 
    507     required: [
    508         "cfi_test_helper",
    509         "cfi_test_helper2",
    510         "elftls_dlopen_ie_error_helper",
    511         "exec_linker_helper",
    512         "exec_linker_helper_lib",
    513         "libtest_dt_runpath_a",
    514         "libtest_dt_runpath_b",
    515         "libtest_dt_runpath_c",
    516         "libtest_dt_runpath_x",
    517         "libtest_dt_runpath_y",
    518         "libatest_simple_zip",
    519         "libcfi-test",
    520         "libcfi-test-bad",
    521         "libdlext_test_different_soname",
    522         "libdlext_test_fd",
    523         "libdlext_test_norelro",
    524         "libdlext_test_recursive",
    525         "libdlext_test_runpath_zip_zipaligned",
    526         "libdlext_test",
    527         "libdlext_test_zip",
    528         "libdlext_test_zip_zipaligned",
    529         "libdl_preempt_test_1",
    530         "libdl_preempt_test_2",
    531         "libdl_test_df_1_global",
    532         "libgnu-hash-table-library",
    533         "libsysv-hash-table-library",
    534         "libtestshared",
    535         "libtest_atexit",
    536         "libtest_check_order_dlsym_1_left",
    537         "libtest_check_order_dlsym_2_right",
    538         "libtest_check_order_dlsym_3_c",
    539         "libtest_check_order_dlsym_a",
    540         "libtest_check_order_dlsym_b",
    541         "libtest_check_order_dlsym_d",
    542         "libtest_check_order_dlsym",
    543         "libtest_check_order_reloc_root_1",
    544         "libtest_check_order_reloc_root_2",
    545         "libtest_check_order_reloc_root",
    546         "libtest_check_order_reloc_siblings_1",
    547         "libtest_check_order_reloc_siblings_2",
    548         "libtest_check_order_reloc_siblings_3",
    549         "libtest_check_order_reloc_siblings_a",
    550         "libtest_check_order_reloc_siblings_b",
    551         "libtest_check_order_reloc_siblings_c_1",
    552         "libtest_check_order_reloc_siblings_c_2",
    553         "libtest_check_order_reloc_siblings_c",
    554         "libtest_check_order_reloc_siblings_d",
    555         "libtest_check_order_reloc_siblings_e",
    556         "libtest_check_order_reloc_siblings_f",
    557         "libtest_check_order_reloc_siblings",
    558         "libtest_check_rtld_next_from_library",
    559         "libtest_dlopen_df_1_global",
    560         "libtest_dlopen_from_ctor_main",
    561         "libtest_dlopen_from_ctor",
    562         "libtest_dlopen_weak_undefined_func",
    563         "libtest_dlsym_df_1_global",
    564         "libtest_dlsym_from_this_child",
    565         "libtest_dlsym_from_this_grandchild",
    566         "libtest_dlsym_from_this",
    567         "libtest_dlsym_weak_func",
    568         "libtest_dt_runpath_d",
    569         "libtest_elftls_dynamic",
    570         "libtest_elftls_dynamic_filler_1",
    571         "libtest_elftls_dynamic_filler_2",
    572         "libtest_elftls_dynamic_filler_3",
    573         "libtest_elftls_shared_var",
    574         "libtest_elftls_shared_var_ie",
    575         "libtest_elftls_tprel",
    576         "libtest_empty",
    577         "libtest_ifunc_variable_impl",
    578         "libtest_ifunc_variable",
    579         "libtest_ifunc",
    580         "libtest_init_fini_order_child",
    581         "libtest_init_fini_order_grand_child",
    582         "libtest_init_fini_order_root2",
    583         "libtest_init_fini_order_root",
    584         "libtest_missing_symbol_child_public",
    585         "libtest_missing_symbol_child_private",
    586         "libtest_missing_symbol_root",
    587         "libtest_missing_symbol",
    588         "libtest_nodelete_1",
    589         "libtest_nodelete_2",
    590         "libtest_nodelete_dt_flags_1",
    591         "libtest_pthread_atfork",
    592         "libtest_relo_check_dt_needed_order_1",
    593         "libtest_relo_check_dt_needed_order_2",
    594         "libtest_relo_check_dt_needed_order",
    595         "libtest_simple",
    596         "libtest_two_parents_child",
    597         "libtest_two_parents_parent1",
    598         "libtest_two_parents_parent2",
    599         "libtest_versioned_lib",
    600         "libtest_versioned_libv1",
    601         "libtest_versioned_libv2",
    602         "libtest_versioned_otherlib_empty",
    603         "libtest_versioned_otherlib",
    604         "libtest_versioned_uselibv1",
    605         "libtest_versioned_uselibv2_other",
    606         "libtest_versioned_uselibv2",
    607         "libtest_versioned_uselibv3_other",
    608         "libtest_with_dependency_loop_a",
    609         "libtest_with_dependency_loop_b",
    610         "libtest_with_dependency_loop_c",
    611         "libtest_with_dependency_loop",
    612         "libtest_with_dependency",
    613         "libtest_indirect_thread_local_dtor",
    614         "libtest_invalid-empty_shdr_table.so",
    615         "libtest_invalid-rw_load_segment.so",
    616         "libtest_invalid-unaligned_shdr_offset.so",
    617         "libtest_invalid-zero_shdr_table_content.so",
    618         "libtest_invalid-zero_shdr_table_offset.so",
    619         "libtest_invalid-zero_shentsize.so",
    620         "libtest_invalid-zero_shstrndx.so",
    621         "libtest_invalid-textrels.so",
    622         "libtest_invalid-textrels2.so",
    623         "libtest_thread_local_dtor",
    624         "libtest_thread_local_dtor2",
    625         "preinit_getauxval_test_helper",
    626         "preinit_syscall_test_helper",
    627         "libnstest_private_external",
    628         "libnstest_dlopened",
    629         "libnstest_private",
    630         "libnstest_root_not_isolated",
    631         "libnstest_root",
    632         "libnstest_public",
    633         "libnstest_public_internal",
    634         "libnstest_ns_a_public1",
    635         "libnstest_ns_a_public1_internal",
    636         "libnstest_ns_b_public2",
    637         "libnstest_ns_b_public3",
    638         "libsegment_gap_inner",
    639         "libsegment_gap_outer",
    640         "ld_preload_test_helper",
    641         "ld_preload_test_helper_lib1",
    642         "ld_preload_test_helper_lib2",
    643         "ld_config_test_helper",
    644         "ld_config_test_helper_lib1",
    645         "ld_config_test_helper_lib2",
    646         "ld_config_test_helper_lib3",
    647     ],
    648 }
    649 
    650 cc_test {
    651     name: "bionic-unit-tests",
    652     defaults: [
    653         "bionic_unit_tests_defaults",
    654     ],
    655 }
    656 
    657 cc_test {
    658     name: "bionic-unit-tests-scudo",
    659     defaults: [
    660         "bionic_unit_tests_defaults",
    661     ],
    662 
    663     shared_libs: [
    664         "libc_scudo",
    665     ],
    666 }
    667 
    668 // -----------------------------------------------------------------------------
    669 // Tests for the device linked against bionic's static library. Run with:
    670 //   adb shell /data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static
    671 //   adb shell /data/nativetest64/bionic-unit-tests-static/bionic-unit-tests-static
    672 // -----------------------------------------------------------------------------
    673 cc_test {
    674     name: "bionic-unit-tests-static",
    675     gtest: false,
    676     defaults: ["bionic_tests_defaults"],
    677     host_supported: false,
    678 
    679     srcs: [
    680         "gtest_preinit_debuggerd.cpp",
    681         "gtest_globals.cpp",
    682         "gtest_main.cpp",
    683 
    684         // The Bionic allocator has its own C++ API. It isn't packaged into its
    685         // own library, so it can only be tested when it's part of libc.a.
    686         "bionic_allocator_test.cpp",
    687     ],
    688     include_dirs: [
    689         "bionic/libc",
    690     ],
    691     whole_static_libs: [
    692         "libBionicTests",
    693     ],
    694 
    695     static_libs: [
    696         "libm",
    697         "libc",
    698         "libdl",
    699         "libtinyxml2",
    700         "liblog",
    701         "libbase",
    702         "libdebuggerd_handler",
    703         "libgtest_isolated",
    704         "libtest_elftls_shared_var",
    705         "libtest_elftls_tprel",
    706     ],
    707 
    708     static_executable: true,
    709     stl: "libc++_static",
    710 }
    711 
    712 // -----------------------------------------------------------------------------
    713 // Tests to run on the host and linked against glibc. Run with:
    714 //   cd bionic/tests; mm bionic-unit-tests-glibc-run
    715 // -----------------------------------------------------------------------------
    716 
    717 cc_test_host {
    718     name: "bionic-unit-tests-glibc",
    719     gtest: false,
    720     defaults: ["bionic_tests_defaults"],
    721 
    722     srcs: [
    723         "atexit_test.cpp",
    724         "dlfcn_symlink_support.cpp",
    725         "dlfcn_test.cpp",
    726         "dl_test.cpp",
    727         "gtest_globals.cpp",
    728         "gtest_main.cpp",
    729         "pthread_dlfcn_test.cpp",
    730     ],
    731 
    732     shared_libs: [
    733         "libdl_preempt_test_1",
    734         "libdl_preempt_test_2",
    735         "libdl_test_df_1_global",
    736         "libtest_elftls_shared_var",
    737         "libtest_elftls_tprel",
    738     ],
    739 
    740     whole_static_libs: [
    741         "libBionicStandardTests",
    742         "libBionicElfTlsTests",
    743         "libBionicElfTlsLoaderTests",
    744         "libfortify1-tests-clang",
    745         "libfortify2-tests-clang",
    746     ],
    747 
    748     static_libs: [
    749         "libbase",
    750         "liblog",
    751         "libcutils",
    752         "libgtest_isolated",
    753     ],
    754 
    755     host_ldlibs: [
    756         "-lresolv",
    757         "-lutil",
    758     ],
    759 
    760     include_dirs: [
    761         "bionic/libc",
    762     ],
    763 
    764     ldflags: [
    765         "-Wl,--rpath,${ORIGIN}/../bionic-loader-test-libs",
    766         "-Wl,--export-dynamic",
    767     ],
    768 
    769     sanitize: {
    770         never: false,
    771     },
    772 
    773     target: {
    774         linux_bionic: {
    775             enabled: false,
    776         },
    777     },
    778 }
    779 
    780 subdirs = ["*"]
    781