1ce968135Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
2ce968135Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3ce968135Sopenharmony_ci# you may not use this file except in compliance with the License.
4ce968135Sopenharmony_ci# You may obtain a copy of the License at
5ce968135Sopenharmony_ci#
6ce968135Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7ce968135Sopenharmony_ci#
8ce968135Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9ce968135Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10ce968135Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11ce968135Sopenharmony_ci# See the License for the specific language governing permissions and
12ce968135Sopenharmony_ci# limitations under the License.
13ce968135Sopenharmony_ci
14ce968135Sopenharmony_ciimport("../../../wallpaper.gni")
15ce968135Sopenharmony_ci
16ce968135Sopenharmony_ci#####################hydra-fuzz###################
17ce968135Sopenharmony_ciimport("//build/config/features.gni")
18ce968135Sopenharmony_ciimport("//build/ohos.gni")
19ce968135Sopenharmony_ciimport("//build/test.gni")
20ce968135Sopenharmony_ci
21ce968135Sopenharmony_ci##############################fuzztest##########################################
22ce968135Sopenharmony_ciohos_fuzztest("WallpaperManagerFuzzTest") {
23ce968135Sopenharmony_ci  module_out_path = "wallpaper_mgr/wallpaper_mgr"
24ce968135Sopenharmony_ci
25ce968135Sopenharmony_ci  fuzz_config_file = "${wallpaper_path}/test/fuzztest/wallpapermanager_fuzzer"
26ce968135Sopenharmony_ci
27ce968135Sopenharmony_ci  include_dirs = [
28ce968135Sopenharmony_ci    "${wallpaper_path}/services/include",
29ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/native/include",
30ce968135Sopenharmony_ci    "${wallpaper_path}/utils/include",
31ce968135Sopenharmony_ci  ]
32ce968135Sopenharmony_ci
33ce968135Sopenharmony_ci  cflags = [
34ce968135Sopenharmony_ci    "-g",
35ce968135Sopenharmony_ci    "-O0",
36ce968135Sopenharmony_ci    "-Wno-unused-variable",
37ce968135Sopenharmony_ci    "-fno-omit-frame-pointer",
38ce968135Sopenharmony_ci  ]
39ce968135Sopenharmony_ci
40ce968135Sopenharmony_ci  sources = [ "wallpaper_manager_fuzzer.cpp" ]
41ce968135Sopenharmony_ci
42ce968135Sopenharmony_ci  deps = [
43ce968135Sopenharmony_ci    "${utils_path}:wallpaper_utils",
44ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/native:wallpapermanager_static",
45ce968135Sopenharmony_ci    "${wallpaper_path}/services:wallpaper_service",
46ce968135Sopenharmony_ci  ]
47ce968135Sopenharmony_ci
48ce968135Sopenharmony_ci  external_deps = [
49ce968135Sopenharmony_ci    "ability_runtime:abilitykit_native",
50ce968135Sopenharmony_ci    "access_token:libaccesstoken_sdk",
51ce968135Sopenharmony_ci    "access_token:libnativetoken",
52ce968135Sopenharmony_ci    "access_token:libtoken_setproc",
53ce968135Sopenharmony_ci    "access_token:libtokenid_sdk",
54ce968135Sopenharmony_ci    "c_utils:utils",
55ce968135Sopenharmony_ci    "hilog:libhilog",
56ce968135Sopenharmony_ci    "ipc:ipc_single",
57ce968135Sopenharmony_ci    "os_account:os_account_innerkits",
58ce968135Sopenharmony_ci    "player_framework:media_client",
59ce968135Sopenharmony_ci    "window_manager:libwm",
60ce968135Sopenharmony_ci  ]
61ce968135Sopenharmony_ci}
62ce968135Sopenharmony_ci
63ce968135Sopenharmony_ci###############################################################################
64ce968135Sopenharmony_cigroup("fuzztest") {
65ce968135Sopenharmony_ci  testonly = true
66ce968135Sopenharmony_ci  deps = []
67ce968135Sopenharmony_ci  deps += [
68ce968135Sopenharmony_ci    # deps file
69ce968135Sopenharmony_ci    ":WallpaperManagerFuzzTest",
70ce968135Sopenharmony_ci  ]
71ce968135Sopenharmony_ci}
72ce968135Sopenharmony_ci###############################################################################
73