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("WifiApFuzzTest") { 21 module_out_path = fuzz_test_output_path 22 fuzz_config_file = "$WIFI_ROOT_DIR/test/fuzztest/wifi_sta/wifiap_fuzzer" 23 24 include_dirs = [ 25 "$WIFI_ROOT_DIR/interfaces/inner_api", 26 "$WIFI_ROOT_DIR/frameworks/native/interfaces", 27 "$WIFI_ROOT_DIR/base/cRPC/include", 28 "$WIFI_ROOT_DIR/base/utils", 29 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/include", 30 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/net_helper", 31 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/config", 32 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/log", 33 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/utils", 34 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap", 35 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta", 36 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common", 37 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage", 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/wifi_hal_interface", 40 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/idl_client", 41 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/idl_client/idl_interface", 42 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common/wifi_country_code", 43 "$WIFI_ROOT_DIR/utils/inc", 44 "$WIFI_ROOT_DIR/services/wifi_standard/include", 45 "$WIFI_ROOT_DIR/test/fuzztest/fuzz_common_func", 46 ] 47 48 cflags = [ 49 "-g", 50 "-O0", 51 "-Wno-unused-variable", 52 "-fno-omit-frame-pointer", 53 ] 54 55 defines = [ 56 "AP_INTF=\"$wifi_feature_with_ap_intf\"", 57 "AP_INSTANCE_MAX_NUM=$wifi_feature_with_ap_num", 58 "private=public", 59 "SUPPORT_NAT", 60 ] 61 62 defines += [ "SUPPORT_RANDOM_MAC_ADDR" ] 63 64 if (is_asan || use_clang_coverage) { 65 defines += [ "DTFUZZ_TEST" ] 66 } 67 68 sources = [ 69 "$WIFI_ROOT_DIR/base/utils/xml_parser.cpp", 70 "$WIFI_ROOT_DIR/frameworks/native/src/wifi_p2p_msg.cpp", 71 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/ap_config_use.cpp", 72 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/ap_idle_state.cpp", 73 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/ap_interface.cpp", 74 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/ap_monitor.cpp", 75 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/ap_root_state.cpp", 76 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/ap_service.cpp", 77 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/ap_started_state.cpp", 78 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/ap_state_machine.cpp", 79 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/ap_stations_manager.cpp", 80 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_ap/wifi_ap_nat_manager.cpp", 81 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common/wifi_channel_helper.cpp", 82 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common/wifi_cmd_client.cpp", 83 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/net_helper/base_address.cpp", 84 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/net_helper/dhcpd_interface.cpp", 85 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/net_helper/if_config.cpp", 86 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/net_helper/ipv4_address.cpp", 87 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/net_helper/mac_address.cpp", 88 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_global_func.cpp", 89 "$WIFI_ROOT_DIR/test/fuzztest/fuzz_common_func/mock_wifi_ap_service.cpp", 90 "wifiap_fuzzer.cpp", 91 ] 92 93 deps = [ 94 "$WIFI_ROOT_DIR/base:wifi_base", 95 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common:wifi_common_service", 96 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native:wifi_native", 97 "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_toolkit:wifi_toolkit", 98 "$WIFI_ROOT_DIR/utils:wifi_utils", 99 ] 100 101 external_deps = [ 102 "ability_base:base", 103 "ability_base:want", 104 "c_utils:utils", 105 "dhcp:dhcp_sdk", 106 "hilog:libhilog", 107 "ipc:ipc_single", 108 "jsoncpp:jsoncpp", 109 "libxml2:libxml2", 110 "netmanager_base:net_conn_manager_if", 111 ] 112 113 part_name = "wifi" 114 subsystem_name = "communication" 115} 116