1# Copyright (C) 2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14#####################hydra-fuzz###################
15import("//build/config/features.gni")
16import("//build/test.gni")
17import("//foundation/communication/wifi/wifi/wifi.gni")
18
19##############################fuzztest##########################################
20ohos_fuzztest("WifiHotSpotStubFuzzTest") {
21  module_out_path = fuzz_test_output_path
22  fuzz_config_file =
23      "$WIFI_ROOT_DIR/test/fuzztest/wifi_sta/wifihotspotstub_fuzzer"
24
25  include_dirs = [
26    "$WIFI_ROOT_DIR/base/utils",
27    "$WIFI_ROOT_DIR/interfaces/inner_api",
28    "$WIFI_ROOT_DIR/frameworks/native/interfaces",
29    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/include",
30    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/log",
31    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/net_helper",
32    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/utils",
33    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/config",
34    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage",
35    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/network_select",
36    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common/app_network_speed_limit",
37    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common",
38    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_controller",
39    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/common",
40    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage",
41    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface",
42    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/idl_client",
43    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/idl_client/idl_interface",
44    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta",
45    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_sa",
46    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan",
47    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_sa",
48    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_self_cure",
49    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro",
50    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage",
51    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap",
52    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap_sa",
53    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p",
54    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/hid2d",
55    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa",
56    "$WIFI_ROOT_DIR/utils/inc",
57    "$WIFI_ROOT_DIR/services/wifi_standard/include",
58    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common/wifi_country_code",
59    "$WIFI_ROOT_DIR/test/fuzztest/fuzz_common_func",
60  ]
61
62  cflags = [
63    "-g",
64    "-O0",
65    "-Wno-unused-variable",
66    "-fno-omit-frame-pointer",
67  ]
68
69  defines = [
70    "STA_INSTANCE_MAX_NUM=$wifi_feature_with_sta_num",
71    "FEATURE_AP_SUPPORT",
72    "FEATURE_STA_SUPPORT",
73    "FEATURE_P2P_SUPPORT",
74    "private=public",
75  ]
76
77  if (is_asan || use_clang_coverage) {
78    defines += [ "DTFUZZ_TEST" ]
79  }
80
81  sources = [
82    "$WIFI_ROOT_DIR/test/fuzztest/fuzz_common_func/mock_auth_center.cpp",
83    "$WIFI_ROOT_DIR/test/fuzztest/fuzz_common_func/mock_netconn_client.cpp",
84    "wifihotspotstub_fuzzer.cpp",
85  ]
86
87  deps = [
88    "$WIFI_ROOT_DIR/base:wifi_base",
89    "$WIFI_ROOT_DIR/frameworks/native:wifi_sdk",
90    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage:wifi_device_service_impl",
91    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage:wifi_hotspot_service_impl",
92    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage:wifi_manager_service",
93    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common:wifi_common_service",
94    "$WIFI_ROOT_DIR/utils:wifi_utils",
95  ]
96
97  external_deps = [
98    "ability_base:want",
99    "ability_base:zuri",
100    "ability_runtime:ability_manager",
101    "ability_runtime:app_context",
102    "ability_runtime:app_manager",
103    "ability_runtime:connection_obs_manager",
104    "ability_runtime:dataobs_manager",
105    "ability_runtime:wantagent_innerkits",
106    "access_token:libaccesstoken_sdk",
107    "access_token:libtokenid_sdk",
108    "bundle_framework:appexecfwk_base",
109    "bundle_framework:appexecfwk_core",
110    "c_utils:utils",
111    "common_event_service:cesfwk_innerkits",
112    "data_share:datashare_common",
113    "data_share:datashare_consumer",
114    "dhcp:dhcp_sdk",
115    "hilog:libhilog",
116    "ipc:ipc_single",
117    "netmanager_base:net_conn_manager_if",
118    "netmanager_base:net_native_manager_if",
119    "safwk:system_ability_fwk",
120    "samgr:samgr_proxy",
121    "time_service:time_client",
122  ]
123
124  part_name = "wifi"
125  subsystem_name = "communication"
126}
127