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