blob: 2a5a9fa7b97844ef5f3d4117741721a7d6380280 [file] [log] [blame]
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
cc_test {
name: "CtsBionicTestCases",
compile_multilib: "both",
cflags: [
"-Wall",
"-Werror",
],
ldflags: [
"-Wl,--rpath,$ORIGIN/bionic-loader-test-libs",
"-Wl,--enable-new-dtags",
"-Wl,--export-dynamic",
],
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",
],
whole_static_libs: [
"libBionicTests",
"libBionicLoaderTests",
"libBionicElfTlsLoaderTests",
"libBionicCtsGtestMain",
],
static_libs: [
"libbase",
"libmeminfo",
"libziparchive",
"libtinyxml2",
"liblog",
"libz",
"libutils",
"libgtest",
"libLLVMObject",
"libLLVMBitReader",
"libLLVMMC",
"libLLVMMCParser",
"libLLVMCore",
"libLLVMSupport",
],
// Use the bootstrap version of bionic because some tests call private APIs
// that aren't exposed by the APEX bionic stubs.
bootstrap: true,
stl: "libc++_static",
test_suites: [
"cts",
"general-tests",
"mts",
],
data_bins: [
"cfi_test_helper",
"cfi_test_helper2",
"elftls_dlopen_ie_error_helper",
"exec_linker_helper",
"exec_linker_helper_lib",
"heap_tagging_async_helper",
"heap_tagging_disabled_helper",
"heap_tagging_static_async_helper",
"heap_tagging_static_disabled_helper",
"heap_tagging_static_sync_helper",
"heap_tagging_sync_helper",
"ld_config_test_helper",
"ld_config_test_helper_lib1",
"ld_config_test_helper_lib2",
"ld_config_test_helper_lib3",
"ld_preload_test_helper",
"ld_preload_test_helper_lib1",
"ld_preload_test_helper_lib2",
"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_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",
"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",
],
data: [
":libdlext_test_runpath_zip_zipaligned",
":libdlext_test_zip_zipaligned",
],
per_testcase_directory: true,
}