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("WifiP2pStubFuzzTest") {
21  module_out_path = fuzz_test_output_path
22  fuzz_config_file = "$WIFI_ROOT_DIR/test/fuzztest/wifi_sta/wifip2pstub_fuzzer"
23
24  include_dirs = [
25    "$WIFI_ROOT_DIR/base/utils",
26    "$WIFI_ROOT_DIR/interfaces/inner_api",
27    "$WIFI_ROOT_DIR/frameworks/native/interfaces",
28    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/include",
29    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/log",
30    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/net_helper",
31    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/utils",
32    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/config",
33    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage",
34    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/network_select",
35    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common/app_network_speed_limit",
36    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common",
37    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_controller",
38    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/common",
39    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage",
40    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface",
41    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/idl_client",
42    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/idl_client/idl_interface",
43    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta",
44    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_sa",
45    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan",
46    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_sa",
47    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_self_cure",
48    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro",
49    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage",
50    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap",
51    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap_sa",
52    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p",
53    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/hid2d",
54    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa",
55    "$WIFI_ROOT_DIR/utils/inc",
56    "$WIFI_ROOT_DIR/services/wifi_standard/include",
57    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common/wifi_country_code",
58    "$WIFI_ROOT_DIR/test/fuzztest/fuzz_common_func",
59  ]
60
61  cflags = [
62    "-g",
63    "-O0",
64    "-Wno-unused-variable",
65    "-fno-omit-frame-pointer",
66  ]
67
68  defines = [
69    "STA_INSTANCE_MAX_NUM=$wifi_feature_with_sta_num",
70    "FEATURE_AP_SUPPORT",
71    "FEATURE_STA_SUPPORT",
72    "FEATURE_P2P_SUPPORT",
73    "private=public",
74  ]
75
76  if (is_asan || use_clang_coverage) {
77    defines += [ "DTFUZZ_TEST" ]
78  }
79
80  sources = [
81    "$WIFI_ROOT_DIR/test/fuzztest/fuzz_common_func/mock_auth_center.cpp",
82    "$WIFI_ROOT_DIR/test/fuzztest/fuzz_common_func/mock_netconn_client.cpp",
83    "wifip2pstub_fuzzer.cpp",
84  ]
85
86  deps = [
87    "$WIFI_ROOT_DIR/base:wifi_base",
88    "$WIFI_ROOT_DIR/frameworks/native:wifi_sdk",
89    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage:wifi_device_service_impl",
90    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage:wifi_manager_service",
91    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage:wifi_p2p_service_impl",
92    "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common:wifi_common_service",
93    "$WIFI_ROOT_DIR/utils:wifi_utils",
94  ]
95
96  external_deps = [
97    "ability_base:want",
98    "ability_base:zuri",
99    "ability_runtime:ability_manager",
100    "ability_runtime:app_context",
101    "ability_runtime:app_manager",
102    "ability_runtime:connection_obs_manager",
103    "ability_runtime:dataobs_manager",
104    "ability_runtime:wantagent_innerkits",
105    "access_token:libaccesstoken_sdk",
106    "access_token:libtokenid_sdk",
107    "bundle_framework:appexecfwk_base",
108    "bundle_framework:appexecfwk_core",
109    "c_utils:utils",
110    "common_event_service:cesfwk_innerkits",
111    "data_share:datashare_common",
112    "data_share:datashare_consumer",
113    "dhcp:dhcp_sdk",
114    "hilog:libhilog",
115    "ipc:ipc_single",
116    "netmanager_base:net_conn_manager_if",
117    "netmanager_base:net_native_manager_if",
118    "safwk:system_ability_fwk",
119    "samgr:samgr_proxy",
120    "time_service:time_client",
121  ]
122
123  part_name = "wifi"
124  subsystem_name = "communication"
125}
126