1518678f8Sopenharmony_ci# Copyright (C) 2024 Huawei Device Co., Ltd.
2518678f8Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3518678f8Sopenharmony_ci# you may not use this file except in compliance with the License.
4518678f8Sopenharmony_ci# You may obtain a copy of the License at
5518678f8Sopenharmony_ci#
6518678f8Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7518678f8Sopenharmony_ci#
8518678f8Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9518678f8Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10518678f8Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11518678f8Sopenharmony_ci# See the License for the specific language governing permissions and
12518678f8Sopenharmony_ci# limitations under the License.
13518678f8Sopenharmony_ci
14518678f8Sopenharmony_ci#####################hydra-fuzz###################
15518678f8Sopenharmony_ciimport("//build/config/features.gni")
16518678f8Sopenharmony_ciimport("//build/test.gni")
17518678f8Sopenharmony_ciimport("//foundation/communication/dhcp/dhcp.gni")
18518678f8Sopenharmony_ci
19518678f8Sopenharmony_ci##############################fuzztest##########################################
20518678f8Sopenharmony_ciohos_fuzztest("CommonUtilFuzzTest") {
21518678f8Sopenharmony_ci  module_out_path = dhcp_fuzz_output_path
22518678f8Sopenharmony_ci  fuzz_config_file = "$DHCP_ROOT_DIR/test/fuzztest/commonutil_fuzzer"
23518678f8Sopenharmony_ci
24518678f8Sopenharmony_ci  include_dirs = [
25518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services",
26518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/include",
27518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/interfaces",
28518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/interfaces/kits/c",
29518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/interfaces/inner_api",
30518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/interfaces/inner_api/include",
31518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/frameworks/native/include",
32518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/frameworks/native/interfaces",
33518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/frameworks/native/src",
34518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/frameworks/native/c_adapter/inc",
35518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_client/include",
36518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/utils/include",
37518678f8Sopenharmony_ci  ]
38518678f8Sopenharmony_ci
39518678f8Sopenharmony_ci  cflags = [
40518678f8Sopenharmony_ci    "-g",
41518678f8Sopenharmony_ci    "-O0",
42518678f8Sopenharmony_ci    "-Wno-unused-variable",
43518678f8Sopenharmony_ci    "-fno-omit-frame-pointer",
44518678f8Sopenharmony_ci  ]
45518678f8Sopenharmony_ci  sources = [
46518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/address_utils.cpp",
47518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/common_util.cpp",
48518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_address_pool.cpp",
49518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_argument.cpp",
50518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_binding.cpp",
51518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_config.cpp",
52518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_dhcpd.cpp",
53518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_function.cpp",
54518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_option.cpp",
55518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_s_server.cpp",
56518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_server_callback_proxy.cpp",
57518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_server_death_recipient.cpp",
58518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_server_service_impl.cpp",
59518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_server_stub.cpp",
60518678f8Sopenharmony_ci    "commonutil_fuzzer.cpp",
61518678f8Sopenharmony_ci  ]
62518678f8Sopenharmony_ci
63518678f8Sopenharmony_ci  deps = [
64518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/frameworks/native:dhcp_sdk",
65518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/dhcp_server:dhcp_server",
66518678f8Sopenharmony_ci    "$DHCP_ROOT_DIR/services/utils:dhcp_utils",
67518678f8Sopenharmony_ci  ]
68518678f8Sopenharmony_ci
69518678f8Sopenharmony_ci  external_deps = [
70518678f8Sopenharmony_ci    "access_token:libaccesstoken_sdk",
71518678f8Sopenharmony_ci    "access_token:libtokenid_sdk",
72518678f8Sopenharmony_ci    "c_utils:utils",
73518678f8Sopenharmony_ci    "hilog:libhilog",
74518678f8Sopenharmony_ci    "ipc:ipc_single",
75518678f8Sopenharmony_ci    "safwk:system_ability_fwk",
76518678f8Sopenharmony_ci    "samgr:samgr_proxy",
77518678f8Sopenharmony_ci  ]
78518678f8Sopenharmony_ci
79518678f8Sopenharmony_ci  defines = [
80518678f8Sopenharmony_ci    "DTFUZZ_TEST",
81518678f8Sopenharmony_ci    "private=public",
82518678f8Sopenharmony_ci  ]
83518678f8Sopenharmony_ci
84518678f8Sopenharmony_ci  part_name = "dhcp"
85518678f8Sopenharmony_ci  subsystem_name = "communication"
86518678f8Sopenharmony_ci}
87