11e934351Sopenharmony_ci# Copyright (c) 2023-2024 Huawei Device Co., Ltd. 21e934351Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 31e934351Sopenharmony_ci# you may not use this file except in compliance with the License. 41e934351Sopenharmony_ci# You may obtain a copy of the License at 51e934351Sopenharmony_ci# 61e934351Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 71e934351Sopenharmony_ci# 81e934351Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 91e934351Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 101e934351Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 111e934351Sopenharmony_ci# See the License for the specific language governing permissions and 121e934351Sopenharmony_ci# limitations under the License. 131e934351Sopenharmony_ci 141e934351Sopenharmony_ciimport("//build/ohos.gni") 151e934351Sopenharmony_ciimport("//build/test.gni") 161e934351Sopenharmony_ciimport("//foundation/communication/netstack/netstack_config.gni") 171e934351Sopenharmony_ci 181e934351Sopenharmony_ciNETSTACK_NAPI_ROOT = "$SUBSYSTEM_DIR/netstack/frameworks/js/napi/" 191e934351Sopenharmony_ci 201e934351Sopenharmony_ciutils_include = [ 211e934351Sopenharmony_ci "$SUBSYSTEM_DIR/netstack/utils/common_utils/include", 221e934351Sopenharmony_ci "$SUBSYSTEM_DIR/netstack/utils/http_over_curl/include", 231e934351Sopenharmony_ci "$SUBSYSTEM_DIR/netstack/utils/log/include", 241e934351Sopenharmony_ci "$THIRD_PARTY_ROOT/curl/include", 251e934351Sopenharmony_ci] 261e934351Sopenharmony_ci 271e934351Sopenharmony_cicommon_external_deps = [ 281e934351Sopenharmony_ci "c_utils:utils", 291e934351Sopenharmony_ci "hilog:libhilog", 301e934351Sopenharmony_ci] 311e934351Sopenharmony_ci 321e934351Sopenharmony_ciohos_unittest("http_unittest") { 331e934351Sopenharmony_ci sanitize = { 341e934351Sopenharmony_ci cfi = true 351e934351Sopenharmony_ci cfi_cross_dso = true 361e934351Sopenharmony_ci debug = false 371e934351Sopenharmony_ci } 381e934351Sopenharmony_ci 391e934351Sopenharmony_ci branch_protector_ret = "pac_ret" 401e934351Sopenharmony_ci 411e934351Sopenharmony_ci module_out_path = "netstack/http_unittest" 421e934351Sopenharmony_ci 431e934351Sopenharmony_ci include_dirs = [ 441e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/async_context/include", 451e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/async_work/include", 461e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/cache/base64/include", 471e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/cache/cache_constant/include", 481e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/cache/cache_proxy/include", 491e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/cache/cache_strategy/include", 501e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/cache/lru_cache/include", 511e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/constant/include", 521e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/http_exec/include", 531e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/http_module/include", 541e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/options/include", 551e934351Sopenharmony_ci "$SUBSYSTEM_DIR/netstack/utils/profiler_utils/include", 561e934351Sopenharmony_ci "$SUBSYSTEM_DIR/netstack/utils/tlv_utils/include", 571e934351Sopenharmony_ci "$THIRD_PARTY_ROOT/curl/include", 581e934351Sopenharmony_ci ] 591e934351Sopenharmony_ci include_dirs += utils_include 601e934351Sopenharmony_ci 611e934351Sopenharmony_ci if (defined(global_parts_info) && 621e934351Sopenharmony_ci defined(global_parts_info.communication_netmanager_base) && 631e934351Sopenharmony_ci global_parts_info.communication_netmanager_base) { 641e934351Sopenharmony_ci include_dirs += [ 651e934351Sopenharmony_ci "$NETMANAGER_BASE_INNERKITS_DIR/include", 661e934351Sopenharmony_ci "$NETMANAGER_BASE_INNERKITS_DIR/netconnclient/include", 671e934351Sopenharmony_ci ] 681e934351Sopenharmony_ci } 691e934351Sopenharmony_ci 701e934351Sopenharmony_ci external_deps = common_external_deps 711e934351Sopenharmony_ci external_deps += [ "curl:curl_shared" ] 721e934351Sopenharmony_ci sources = [ 731e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/async_context/src/request_context.cpp", 741e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/constant/src/constant.cpp", 751e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/http_exec/src/http_exec.cpp", 761e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/options/src/http_request_options.cpp", 771e934351Sopenharmony_ci "$NETSTACK_NAPI_ROOT/http/options/src/http_response.cpp", 781e934351Sopenharmony_ci "$SUBSYSTEM_DIR/netstack/utils/common_utils/src/netstack_common_utils.cpp", 791e934351Sopenharmony_ci "$SUBSYSTEM_DIR/netstack/utils/http_over_curl/src/epoll_request_handler.cpp", 801e934351Sopenharmony_ci "$SUBSYSTEM_DIR/netstack/utils/profiler_utils/src/netstack_network_profiler.cpp", 811e934351Sopenharmony_ci "$SUBSYSTEM_DIR/netstack/utils/tlv_utils/src/tlv_utils.cpp", 821e934351Sopenharmony_ci "HttpExecTest.cpp", 831e934351Sopenharmony_ci "HttpRequestOptionsTest.cpp", 841e934351Sopenharmony_ci ] 851e934351Sopenharmony_ci 861e934351Sopenharmony_ci deps = [ "$SUBSYSTEM_DIR/netstack/utils/napi_utils:napi_utils" ] 871e934351Sopenharmony_ci if (is_mingw || is_mac) { 881e934351Sopenharmony_ci sources += 891e934351Sopenharmony_ci [ "$NETSTACK_DIR/utils/common_utils/src/netstack_common_utils.cpp" ] 901e934351Sopenharmony_ci deps += [ 911e934351Sopenharmony_ci "$ARKUI_ROOT/napi:ace_napi", 921e934351Sopenharmony_ci "$NETSTACK_DIR/utils/napi_utils:napi_utils_static", 931e934351Sopenharmony_ci "$THIRD_PARTY_ROOT/bounds_checking_function:libsec_static", 941e934351Sopenharmony_ci ] 951e934351Sopenharmony_ci } else { 961e934351Sopenharmony_ci deps += [ 971e934351Sopenharmony_ci "$NETSTACK_DIR/utils:stack_utils_common", 981e934351Sopenharmony_ci "$NETSTACK_DIR/utils/napi_utils:napi_utils", 991e934351Sopenharmony_ci ] 1001e934351Sopenharmony_ci external_deps += [ 1011e934351Sopenharmony_ci "ability_runtime:wantagent_innerkits", 1021e934351Sopenharmony_ci "hilog:libhilog", 1031e934351Sopenharmony_ci "hiprofiler:libnetwork_profiler", 1041e934351Sopenharmony_ci "hitrace:hitrace_meter", 1051e934351Sopenharmony_ci "napi:ace_napi", 1061e934351Sopenharmony_ci "time_service:time_client", 1071e934351Sopenharmony_ci ] 1081e934351Sopenharmony_ci if (netstack_http_boringssl) { 1091e934351Sopenharmony_ci deps += [ 1101e934351Sopenharmony_ci "//vendor/open_source/boringssl:crypto_boringssl", 1111e934351Sopenharmony_ci "//vendor/open_source/boringssl:ssl_boringssl", 1121e934351Sopenharmony_ci ] 1131e934351Sopenharmony_ci } else { 1141e934351Sopenharmony_ci external_deps += [ 1151e934351Sopenharmony_ci "openssl:libcrypto_shared", 1161e934351Sopenharmony_ci "openssl:libssl_shared", 1171e934351Sopenharmony_ci ] 1181e934351Sopenharmony_ci } 1191e934351Sopenharmony_ci if (defined(global_parts_info) && 1201e934351Sopenharmony_ci defined(global_parts_info.communication_netmanager_base) && 1211e934351Sopenharmony_ci global_parts_info.communication_netmanager_base) { 1221e934351Sopenharmony_ci external_deps += [ "netmanager_base:net_conn_manager_if" ] 1231e934351Sopenharmony_ci external_deps += [ "netmanager_base:netsys_client" ] 1241e934351Sopenharmony_ci defines = [ "HAS_NETMANAGER_BASE=1" ] 1251e934351Sopenharmony_ci } else { 1261e934351Sopenharmony_ci defines = [ "HAS_NETMANAGER_BASE=0" ] 1271e934351Sopenharmony_ci } 1281e934351Sopenharmony_ci if (product_name != "ohos-sdk") { 1291e934351Sopenharmony_ci external_deps += [ "init:libbegetutil" ] 1301e934351Sopenharmony_ci } 1311e934351Sopenharmony_ci } 1321e934351Sopenharmony_ci 1331e934351Sopenharmony_ci part_name = "netstack" 1341e934351Sopenharmony_ci subsystem_name = "communication" 1351e934351Sopenharmony_ci} 1361e934351Sopenharmony_ci 1371e934351Sopenharmony_cigroup("unittest") { 1381e934351Sopenharmony_ci testonly = true 1391e934351Sopenharmony_ci deps = [ ":http_unittest" ] 1401e934351Sopenharmony_ci} 141