1# Copyright (c) 2023 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 14import("../../../wallpaper.gni") 15 16#####################hydra-fuzz################### 17import("//build/config/features.gni") 18import("//build/ohos.gni") 19import("//build/test.gni") 20 21##############################fuzztest########################################## 22boundarycode_test = { 23 targetName = "WallpaperBoundaryCodeFuzzTest" 24 configFuzzer = "wallpaperboundarycode_fuzzer" 25 source = "src/boundarycode_fuzzer.cpp" 26} 27getcolors_test = { 28 targetName = "WallpaperGetColorsFuzzTest" 29 configFuzzer = "wallpapergetcolors_fuzzer" 30 source = "src/getcolors_fuzzer.cpp" 31} 32getcolorsv9_test = { 33 targetName = "WallpaperGetColorsV9FuzzTest" 34 configFuzzer = "wallpapergetcolorsv9_fuzzer" 35 source = "src/getcolorsv9_fuzzer.cpp" 36} 37getfile_test = { 38 targetName = "WallpaperGetFileFuzzTest" 39 configFuzzer = "wallpapergetfile_fuzzer" 40 source = "src/getfile_fuzzer.cpp" 41} 42getpixelmap_test = { 43 targetName = "WallpaperGetPixelMapFuzzTest" 44 configFuzzer = "wallpapergetpixelmap_fuzzer" 45 source = "src/getpixelmap_fuzzer.cpp" 46} 47getpixelmapv9_test = { 48 targetName = "WallpaperGetPixelMapV9FuzzTest" 49 configFuzzer = "wallpapergetpixelmapv9_fuzzer" 50 source = "src/getpixelmapv9_fuzzer.cpp" 51} 52getwallpaperid_test = { 53 targetName = "WallpaperGetWallpaperIdFuzzTest" 54 configFuzzer = "wallpapergetwallpaperid_fuzzer" 55 source = "src/getwallpaperid_fuzzer.cpp" 56} 57ischangepermitted_test = { 58 targetName = "WallpaperIsChangePermittedFuzzTest" 59 configFuzzer = "wallpaperischangepermitted_fuzzer" 60 source = "src/ischangepermitted_fuzzer.cpp" 61} 62isoperationallowed_test = { 63 targetName = "WallpaperIsOperationAllowedFuzzTest" 64 configFuzzer = "wallpaperisoperationallowed_fuzzer" 65 source = "src/isoperationallowed_fuzzer.cpp" 66} 67off_test = { 68 targetName = "WallpaperOffFuzzTest" 69 configFuzzer = "wallpaperoff_fuzzer" 70 source = "src/off_fuzzer.cpp" 71} 72on_test = { 73 targetName = "WallpaperOnFuzzTest" 74 configFuzzer = "wallpaperon_fuzzer" 75 source = "src/on_fuzzer.cpp" 76} 77registercallback_test = { 78 targetName = "WallpaperRegisterCallbackFuzzTest" 79 configFuzzer = "wallpaperregistercallback_fuzzer" 80 source = "src/registercallback_fuzzer.cpp" 81} 82resetwallpaper_test = { 83 targetName = "WallpaperResetWallpaperFuzzTest" 84 configFuzzer = "wallpaperresetwallpaper_fuzzer" 85 source = "src/resetwallpaper_fuzzer.cpp" 86} 87resetwallpaperv9_test = { 88 targetName = "WallpaperResetWallpaperV9FuzzTest" 89 configFuzzer = "wallpaperresetwallpaperv9_fuzzer" 90 source = "src/resetwallpaperv9_fuzzer.cpp" 91} 92sendevent_test = { 93 targetName = "WallpaperSendEventFuzzTest" 94 configFuzzer = "wallpapersendevent_fuzzer" 95 source = "src/sendevent_fuzzer.cpp" 96} 97setcustom_test = { 98 targetName = "WallpaperSetCustomFuzzTest" 99 configFuzzer = "wallpapersetcustom_fuzzer" 100 source = "src/setcustom_fuzzer.cpp" 101} 102setvideo_test = { 103 targetName = "WallpaperSetVideoFuzzTest" 104 configFuzzer = "wallpapersetvideo_fuzzer" 105 source = "src/setvideo_fuzzer.cpp" 106} 107setwallpaper_test = { 108 targetName = "WallpaperSetWallpaperFuzzTest" 109 configFuzzer = "wallpapersetwallpaper_fuzzer" 110 source = "src/setwallpaper_fuzzer.cpp" 111} 112setwallpaperv9_test = { 113 targetName = "WallpaperSetWallpaperV9FuzzTest" 114 configFuzzer = "wallpapersetwallpaperv9_fuzzer" 115 source = "src/setwallpaperv9_fuzzer.cpp" 116} 117setwallpaperpixelmapv9_test = { 118 targetName = "WallpaperSetWallpaperPixelmapV9FuzzTest" 119 configFuzzer = "wallpapersetwallpaperpixelmapv9_fuzzer" 120 source = "src/setwallpaperpixelmapv9_fuzz.cpp" 121} 122wallpaperstub_test = { 123 targetName = "WallpaperStubFuzzTest" 124 configFuzzer = "wallpaperstub_fuzzer" 125 source = "src/wallpaperstub_fuzz.cpp" 126} 127 128wallpaper_fuzztests = [ 129 boundarycode_test, 130 getcolors_test, 131 getcolorsv9_test, 132 getfile_test, 133 getpixelmap_test, 134 getpixelmapv9_test, 135 getwallpaperid_test, 136 ischangepermitted_test, 137 isoperationallowed_test, 138 off_test, 139 on_test, 140 registercallback_test, 141 resetwallpaper_test, 142 resetwallpaperv9_test, 143 sendevent_test, 144 setcustom_test, 145 setvideo_test, 146 setwallpaper_test, 147 setwallpaperv9_test, 148 setwallpaperpixelmapv9_test, 149 wallpaperstub_test, 150] 151foreach(item, wallpaper_fuzztests) { 152 ohos_fuzztest(item.targetName) { 153 module_out_path = "wallpaper_mgr/wallpaper_mgr" 154 155 fuzz_config_file = "${wallpaper_path}/test/fuzztest/wallpaperservice_fuzzer/${item.configFuzzer}" 156 157 include_dirs = [ 158 "${wallpaper_path}/services/include", 159 "${wallpaper_path}/frameworks/native/include", 160 "${wallpaper_path}/utils/include", 161 "${wallpaper_path}/test/fuzztest/wallpaperservice_fuzzer/include", 162 ] 163 164 cflags = [ 165 "-g", 166 "-O0", 167 "-Wno-unused-variable", 168 "-fno-omit-frame-pointer", 169 ] 170 171 sources = [ 172 "src/fuzztest_utils.cpp", 173 item.source, 174 ] 175 176 deps = [ 177 "${utils_path}:wallpaper_utils", 178 "${wallpaper_path}/services:wallpaper_service", 179 ] 180 181 external_deps = [ 182 "ability_runtime:abilitykit_native", 183 "access_token:libaccesstoken_sdk", 184 "access_token:libtoken_setproc", 185 "c_utils:utils", 186 "hilog:libhilog", 187 "ipc:ipc_single", 188 "os_account:os_account_innerkits", 189 "window_manager:libwm", 190 ] 191 } 192} 193 194############################################################################### 195group("fuzztest") { 196 testonly = true 197 deps = [] 198 deps += [ 199 # deps file 200 ":WallpaperBoundaryCodeFuzzTest", 201 ":WallpaperGetColorsFuzzTest", 202 ":WallpaperGetColorsV9FuzzTest", 203 ":WallpaperGetFileFuzzTest", 204 ":WallpaperGetPixelMapFuzzTest", 205 ":WallpaperGetPixelMapV9FuzzTest", 206 ":WallpaperGetWallpaperIdFuzzTest", 207 ":WallpaperIsChangePermittedFuzzTest", 208 ":WallpaperIsOperationAllowedFuzzTest", 209 ":WallpaperOffFuzzTest", 210 ":WallpaperOnFuzzTest", 211 ":WallpaperRegisterCallbackFuzzTest", 212 ":WallpaperResetWallpaperFuzzTest", 213 ":WallpaperResetWallpaperV9FuzzTest", 214 ":WallpaperSendEventFuzzTest", 215 ":WallpaperSetCustomFuzzTest", 216 ":WallpaperSetVideoFuzzTest", 217 ":WallpaperSetWallpaperFuzzTest", 218 ":WallpaperSetWallpaperPixelmapV9FuzzTest", 219 ":WallpaperSetWallpaperV9FuzzTest", 220 ":WallpaperStubFuzzTest", 221 ] 222} 223############################################################################### 224