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("//build/config/features.gni")
15import("//build/test.gni")
16import("//foundation/filemanagement/storage_service/storage_service_aafwk.gni")
17
18ohos_fuzztest("StorageDaemonDeleteShareFileFuzzTest") {
19  module_out_path = "storage_service/storage_service"
20  fuzz_config_file = "${storage_service_path}/test/fuzztest/storagedaemondeletesharefile_fuzzer"
21  include_dirs = [
22    "${storage_service_common_path}/include",
23    "${storage_daemon_path}/include",
24    "${storage_daemon_path}/include/crypto",
25    "${storage_daemon_path}/include/ipc",
26    "${storage_daemon_path}/include/quota",
27    "${storage_daemon_path}/include/user",
28    "${storage_daemon_path}/include/utils",
29  ]
30  cflags = [
31    "-g",
32    "-O0",
33    "-Wno-unused-variable",
34    "-fno-omit-frame-pointer",
35  ]
36  sources = [
37    "${storage_daemon_path}/crypto/src/key_manager.cpp",
38    "${storage_daemon_path}/ipc/src/storage_daemon.cpp",
39    "${storage_daemon_path}/ipc/src/storage_daemon_stub.cpp",
40    "${storage_daemon_path}/quota/quota_manager.cpp",
41    "${storage_daemon_path}/user/src/mount_manager.cpp",
42    "${storage_daemon_path}/user/src/user_manager.cpp",
43    "${storage_daemon_path}/utils/file_utils.cpp",
44    "${storage_daemon_path}/utils/mount_argument_utils.cpp",
45    "${storage_daemon_path}/utils/set_flag_utils.cpp",
46    "${storage_daemon_path}/utils/storage_radar.cpp",
47    "${storage_daemon_path}/utils/string_utils.cpp",
48    "${storage_service_path}/test/fuzztest/storagedaemondeletesharefile_fuzzer/storagedaemondeletesharefile_fuzzer.cpp",
49  ]
50
51  defines = [
52    "STORAGE_LOG_TAG = \"storage_service\"",
53    "STORAGE_DAEMON_FUZZ_TEST",
54  ]
55  deps = [
56    "${bundlemanager_framework_path}/services/bundlemgr:libbms",
57    "${storage_daemon_path}/libfscrypt:libfscryptutils",
58  ]
59
60  external_deps = [
61    "ability_base:zuri",
62    "ability_runtime:abilitykit_native",
63    "app_file_service:fileshare_native",
64    "app_file_service:fileuri_native",
65    "app_file_service:sandbox_helper_native",
66    "bundle_framework:appexecfwk_core",
67    "c_utils:utils",
68    "eventhandler:libeventhandler",
69    "hilog:libhilog",
70    "hisysevent:libhisysevent",
71    "huks:libhukssdk",
72    "init:libbegetutil",
73    "ipc:ipc_single",
74    "safwk:system_ability_fwk",
75    "samgr:samgr_proxy",
76  ]
77
78  if (storage_service_dfs_service) {
79    defines += [ "DFS_SERVICE" ]
80    external_deps += [ "dfs_service:cloud_daemon_kit_inner" ]
81  }
82
83  if (enable_user_auth_framework) {
84    defines += [ "USER_AUTH_FRAMEWORK" ]
85    external_deps += [ "user_auth_framework:userauth_client" ]
86  }
87
88  use_exceptions = true
89}
90
91group("fuzztest") {
92  testonly = true
93  deps = [ ":StorageDaemonDeleteShareFileFuzzTest" ]
94}
95