1# Copyright (c) 2022-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("//foundation/distributeddatamgr/pasteboard/pasteboard.gni")
15
16#####################hydra-fuzz###################
17import("//build/config/features.gni")
18import("//build/ohos.gni")
19import("//build/test.gni")
20
21##############################fuzztest##########################################
22ohos_fuzztest("PasteboardServiceFuzzTest") {
23  module_out_path = "pasteboard/pasteboard"
24
25  fuzz_config_file =
26      "${pasteboard_root_path}/test/fuzztest/pasteboardservice_fuzzer"
27
28  configs = [ "${pasteboard_service_path}:pasteboard_service_config" ]
29
30  include_dirs = [
31    "${pasteboard_root_path}/framework/uri",
32    "${pasteboard_service_path}/zidl/include",
33    "${pasteboard_service_path}/core/include",
34  ]
35
36  cflags = [
37    "-g",
38    "-O0",
39    "-Wno-unused-variable",
40    "-fno-omit-frame-pointer",
41  ]
42
43  sources = [
44    "${pasteboard_root_path}/framework/uri/copy_uri_handler.cpp",
45    "pasteboardservice_fuzzer.cpp",
46  ]
47
48  deps = [
49    "${pasteboard_framework_path}:pasteboard_framework",
50    "${pasteboard_innerkits_path}:pasteboard_client",
51    "${pasteboard_root_path}/framework/uri:pasteboard_uri",
52    "${pasteboard_service_path}:pasteboard_service",
53  ]
54
55  external_deps = [
56    "ability_base:want",
57    "ability_base:zuri",
58    "access_token:libaccesstoken_sdk",
59    "access_token:libprivacy_sdk",
60    "app_file_service:remote_file_share_native",
61    "bundle_framework:appexecfwk_core",
62    "c_utils:utils",
63    "data_share:datashare_consumer",
64    "dataclassification:data_transit_mgr",
65    "eventhandler:libeventhandler",
66    "ffrt:libffrt",
67    "hilog:libhilog",
68    "image_framework:image_native",
69    "input:libmmi-client",
70    "ipc:ipc_core",
71    "os_account:os_account_innerkits",
72    "safwk:system_ability_fwk",
73  ]
74}
75
76###############################################################################
77group("fuzztest") {
78  testonly = true
79  deps = []
80  deps += [
81    # deps file
82    ":PasteboardServiceFuzzTest",
83  ]
84}
85###############################################################################
86