1570af302Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd. 2570af302Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3570af302Sopenharmony_ci# you may not use this file except in compliance with the License. 4570af302Sopenharmony_ci# You may obtain a copy of the License at 5570af302Sopenharmony_ci# 6570af302Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7570af302Sopenharmony_ci# 8570af302Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9570af302Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10570af302Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11570af302Sopenharmony_ci# See the License for the specific language governing permissions and 12570af302Sopenharmony_ci# limitations under the License. 13570af302Sopenharmony_ci 14570af302Sopenharmony_ciimport("../../../test_template.gni") 15570af302Sopenharmony_ci 16570af302Sopenharmony_cigroup("dlns_test") { 17570af302Sopenharmony_ci testonly = true 18570af302Sopenharmony_ci deps = [ 19570af302Sopenharmony_ci ":dlns_dlopen_ext_test", 20570af302Sopenharmony_ci ":dlns_dlopen_test", 21570af302Sopenharmony_ci ":dlns_dlsym_dep_a", 22570af302Sopenharmony_ci ":dlns_dlsym_test", 23570af302Sopenharmony_ci ":dlns_inherit_test", 24570af302Sopenharmony_ci ":dlns_separated_test", 25570af302Sopenharmony_ci ":dlns_set_fun_test", 26570af302Sopenharmony_ci ":dlns_special_scene_test", 27570af302Sopenharmony_ci ":dlopen_fill_random", 28570af302Sopenharmony_ci ":dlopen_hash_sysv", 29570af302Sopenharmony_ci ] 30570af302Sopenharmony_ci} 31570af302Sopenharmony_ci 32570af302Sopenharmony_ciohos_executable("dlns_dlopen_test") { 33570af302Sopenharmony_ci subsystem_name = "musl" 34570af302Sopenharmony_ci part_name = "libc-test" 35570af302Sopenharmony_ci include_dirs = [ 36570af302Sopenharmony_ci "../common", 37570af302Sopenharmony_ci "//third_party/musl/porting/linux/user/include", 38570af302Sopenharmony_ci "//third_party/musl/libc-test/src/common", 39570af302Sopenharmony_ci ] 40570af302Sopenharmony_ci if (musl_arch == "arm") { 41570af302Sopenharmony_ci defines = [ "MUSL_ARM" ] 42570af302Sopenharmony_ci } 43570af302Sopenharmony_ci sources = [ "dlns_dlopen.c" ] 44570af302Sopenharmony_ci configs = [ "//third_party/musl/libc-test/src/common:config_runtest" ] 45570af302Sopenharmony_ci 46570af302Sopenharmony_ci ldflags = [ "-Wl,-rpath=/data/tests/libc-test/src/" ] 47570af302Sopenharmony_ci} 48570af302Sopenharmony_ci 49570af302Sopenharmony_ciohos_executable("dlns_set_fun_test") { 50570af302Sopenharmony_ci subsystem_name = "musl" 51570af302Sopenharmony_ci part_name = "libc-test" 52570af302Sopenharmony_ci include_dirs = [ 53570af302Sopenharmony_ci "../common", 54570af302Sopenharmony_ci "//third_party/musl/porting/linux/user/include", 55570af302Sopenharmony_ci "//third_party/musl/libc-test/src/common", 56570af302Sopenharmony_ci ] 57570af302Sopenharmony_ci 58570af302Sopenharmony_ci sources = [ "dlns_set_fun.c" ] 59570af302Sopenharmony_ci configs = [ "//third_party/musl/libc-test/src/common:config_runtest" ] 60570af302Sopenharmony_ci if (!musl_unit_test_flag) { 61570af302Sopenharmony_ci libs = [ "${musl_lib_dir}/libc.a" ] 62570af302Sopenharmony_ci libs += [ "${musl_lib_dir}/libc_ldso.a" ] 63570af302Sopenharmony_ci } 64570af302Sopenharmony_ci} 65570af302Sopenharmony_ci 66570af302Sopenharmony_ciohos_executable("dlns_inherit_test") { 67570af302Sopenharmony_ci subsystem_name = "musl" 68570af302Sopenharmony_ci part_name = "libc-test" 69570af302Sopenharmony_ci include_dirs = [ 70570af302Sopenharmony_ci "../common", 71570af302Sopenharmony_ci "//third_party/musl/porting/linux/user/include", 72570af302Sopenharmony_ci "//third_party/musl/libc-test/src/common", 73570af302Sopenharmony_ci ] 74570af302Sopenharmony_ci 75570af302Sopenharmony_ci sources = [ "dlns_inherit.c" ] 76570af302Sopenharmony_ci configs = [ "//third_party/musl/libc-test/src/common:config_runtest" ] 77570af302Sopenharmony_ci if (!musl_unit_test_flag) { 78570af302Sopenharmony_ci libs = [ "${musl_lib_dir}/libc.a" ] 79570af302Sopenharmony_ci libs += [ "${musl_lib_dir}/libc_ldso.a" ] 80570af302Sopenharmony_ci } 81570af302Sopenharmony_ci} 82570af302Sopenharmony_ci 83570af302Sopenharmony_ciohos_executable("dlns_separated_test") { 84570af302Sopenharmony_ci subsystem_name = "musl" 85570af302Sopenharmony_ci part_name = "libc-test" 86570af302Sopenharmony_ci include_dirs = [ 87570af302Sopenharmony_ci "../common", 88570af302Sopenharmony_ci "//third_party/musl/porting/linux/user/include", 89570af302Sopenharmony_ci "//third_party/musl/libc-test/src/common", 90570af302Sopenharmony_ci ] 91570af302Sopenharmony_ci 92570af302Sopenharmony_ci sources = [ "dlns_separated.c" ] 93570af302Sopenharmony_ci configs = [ "//third_party/musl/libc-test/src/common:config_runtest" ] 94570af302Sopenharmony_ci if (!musl_unit_test_flag) { 95570af302Sopenharmony_ci libs = [ "${musl_lib_dir}/libc.a" ] 96570af302Sopenharmony_ci libs += [ "${musl_lib_dir}/libc_ldso.a" ] 97570af302Sopenharmony_ci } 98570af302Sopenharmony_ci} 99570af302Sopenharmony_ci 100570af302Sopenharmony_ciohos_executable("dlns_special_scene_test") { 101570af302Sopenharmony_ci subsystem_name = "musl" 102570af302Sopenharmony_ci part_name = "libc-test" 103570af302Sopenharmony_ci include_dirs = [ 104570af302Sopenharmony_ci "../common", 105570af302Sopenharmony_ci "//third_party/musl/porting/linux/user/include", 106570af302Sopenharmony_ci "//third_party/musl/libc-test/src/common", 107570af302Sopenharmony_ci ] 108570af302Sopenharmony_ci 109570af302Sopenharmony_ci sources = [ "dlns_special_scene.c" ] 110570af302Sopenharmony_ci configs = [ "//third_party/musl/libc-test/src/common:config_runtest" ] 111570af302Sopenharmony_ci} 112570af302Sopenharmony_ci 113570af302Sopenharmony_ciohos_executable("dlns_dlsym_test") { 114570af302Sopenharmony_ci subsystem_name = "musl" 115570af302Sopenharmony_ci part_name = "libc-test" 116570af302Sopenharmony_ci include_dirs = [ 117570af302Sopenharmony_ci "../common", 118570af302Sopenharmony_ci "//third_party/musl/porting/linux/user/include", 119570af302Sopenharmony_ci "//third_party/musl/libc-test/src/common", 120570af302Sopenharmony_ci ] 121570af302Sopenharmony_ci 122570af302Sopenharmony_ci sources = [ "dlns_dlsym.c" ] 123570af302Sopenharmony_ci configs = [ "//third_party/musl/libc-test/src/common:config_runtest" ] 124570af302Sopenharmony_ci} 125570af302Sopenharmony_ci 126570af302Sopenharmony_ciohos_executable("dlns_dlopen_ext_test") { 127570af302Sopenharmony_ci subsystem_name = "musl" 128570af302Sopenharmony_ci part_name = "libc-test" 129570af302Sopenharmony_ci include_dirs = [ "../common" ] 130570af302Sopenharmony_ci 131570af302Sopenharmony_ci sources = [ "dlns_dlopen_ext.c" ] 132570af302Sopenharmony_ci configs = [ "//third_party/musl/libc-test/src/common:config_runtest" ] 133570af302Sopenharmony_ci} 134570af302Sopenharmony_ci 135570af302Sopenharmony_ciohos_shared_library("dlns_dlsym_dep_c") { 136570af302Sopenharmony_ci include_dirs = [ "." ] 137570af302Sopenharmony_ci 138570af302Sopenharmony_ci sources = [ "dlns_dlsym_dep_c.c" ] 139570af302Sopenharmony_ci 140570af302Sopenharmony_ci output_name = "dlns_dlsym_dep_c" 141570af302Sopenharmony_ci 142570af302Sopenharmony_ci output_extension = "so" 143570af302Sopenharmony_ci 144570af302Sopenharmony_ci subsystem_name = "musl" 145570af302Sopenharmony_ci part_name = "libc-test-lib" 146570af302Sopenharmony_ci} 147570af302Sopenharmony_ci 148570af302Sopenharmony_ciohos_shared_library("dlns_dlsym_dep_b") { 149570af302Sopenharmony_ci include_dirs = [ "." ] 150570af302Sopenharmony_ci 151570af302Sopenharmony_ci sources = [ "dlns_dlsym_dep_b.c" ] 152570af302Sopenharmony_ci 153570af302Sopenharmony_ci output_name = "dlns_dlsym_dep_b" 154570af302Sopenharmony_ci 155570af302Sopenharmony_ci output_extension = "so" 156570af302Sopenharmony_ci 157570af302Sopenharmony_ci deps = [ ":dlns_dlsym_dep_c" ] 158570af302Sopenharmony_ci 159570af302Sopenharmony_ci subsystem_name = "musl" 160570af302Sopenharmony_ci part_name = "libc-test-lib" 161570af302Sopenharmony_ci} 162570af302Sopenharmony_ci 163570af302Sopenharmony_ciohos_shared_library("dlns_dlsym_dep_a") { 164570af302Sopenharmony_ci include_dirs = [ "." ] 165570af302Sopenharmony_ci 166570af302Sopenharmony_ci sources = [ "dlns_dlsym_dep_a.c" ] 167570af302Sopenharmony_ci 168570af302Sopenharmony_ci output_name = "dlns_dlsym_dep_a" 169570af302Sopenharmony_ci 170570af302Sopenharmony_ci output_extension = "so" 171570af302Sopenharmony_ci 172570af302Sopenharmony_ci deps = [ ":dlns_dlsym_dep_b" ] 173570af302Sopenharmony_ci 174570af302Sopenharmony_ci subsystem_name = "musl" 175570af302Sopenharmony_ci part_name = "libc-test-lib" 176570af302Sopenharmony_ci} 177570af302Sopenharmony_ci 178570af302Sopenharmony_ciohos_shared_library("dlopen_hash_sysv") { 179570af302Sopenharmony_ci include_dirs = [ "." ] 180570af302Sopenharmony_ci 181570af302Sopenharmony_ci sources = [ "dlns_dlsym_dep_c.c" ] 182570af302Sopenharmony_ci 183570af302Sopenharmony_ci output_name = "dlopen_hash_sysv" 184570af302Sopenharmony_ci 185570af302Sopenharmony_ci output_extension = "so" 186570af302Sopenharmony_ci 187570af302Sopenharmony_ci subsystem_name = "musl" 188570af302Sopenharmony_ci part_name = "libc-test-lib" 189570af302Sopenharmony_ci 190570af302Sopenharmony_ci ldflags = [ "-Wl,--hash-style=sysv" ] 191570af302Sopenharmony_ci} 192570af302Sopenharmony_ci 193570af302Sopenharmony_ciohos_shared_library("dlopen_fill_random") { 194570af302Sopenharmony_ci include_dirs = [ "." ] 195570af302Sopenharmony_ci 196570af302Sopenharmony_ci sources = [ "dlns_dlsym_dep_c.c" ] 197570af302Sopenharmony_ci 198570af302Sopenharmony_ci stack_protector_ret = true 199570af302Sopenharmony_ci 200570af302Sopenharmony_ci output_name = "dlopen_fill_random" 201570af302Sopenharmony_ci 202570af302Sopenharmony_ci output_extension = "so" 203570af302Sopenharmony_ci 204570af302Sopenharmony_ci subsystem_name = "musl" 205570af302Sopenharmony_ci part_name = "libc-test-lib" 206570af302Sopenharmony_ci} 207