1# Copyright (c) 2022-2024 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/test.gni")
15import("//foundation/filemanagement/storage_service/storage_service_aafwk.gni")
16
17ROOT_DIR = "${storage_daemon_path}"
18
19ohos_unittest("storage_daemon_test") {
20  branch_protector_ret = "pac_ret"
21  sanitize = {
22    integer_overflow = true
23    cfi = true
24    cfi_cross_dso = true
25    debug = false
26  }
27  module_out_path = "storage_service/storage_daemon"
28
29  defines = [
30    "STORAGE_LOG_TAG = \"StorageDaemon\"",
31    "LOG_DOMAIN = 0xD004301",
32  ]
33
34  if (storage_service_user_crypto_manager) {
35    defines += [ "USER_CRYPTO_MANAGER" ]
36  }
37
38  if (storage_service_external_storage_manager) {
39    defines += [ "EXTERNAL_STORAGE_MANAGER" ]
40  }
41
42  cflags_cc = [ "-Wno-unused-const-variable" ]
43
44  include_dirs = [
45    "$ROOT_DIR/include",
46    "$ROOT_DIR/include/crypto",
47    "$ROOT_DIR/utils",
48    "$ROOT_DIR/../storage_manager/include",
49    "${storage_interface_path}/innerkits/storage_manager/native",
50    "${storage_service_common_path}/include",
51  ]
52
53  sources = [
54    "$ROOT_DIR/crypto/src/app_clone_key_manager.cpp",
55    "$ROOT_DIR/crypto/test/key_manager_mock.cpp",
56    "$ROOT_DIR/disk/src/disk_config.cpp",
57    "$ROOT_DIR/disk/src/disk_info.cpp",
58    "$ROOT_DIR/disk/src/disk_manager.cpp",
59    "$ROOT_DIR/ipc/src/storage_daemon.cpp",
60    "$ROOT_DIR/ipc/src/storage_daemon_stub.cpp",
61    "$ROOT_DIR/ipc/src/storage_manager_client.cpp",
62    "$ROOT_DIR/ipc/test/storage_daemon_test.cpp",
63    "$ROOT_DIR/quota/quota_manager.cpp",
64    "$ROOT_DIR/user/src/mount_manager.cpp",
65    "$ROOT_DIR/user/src/user_manager.cpp",
66    "$ROOT_DIR/utils/test/common/help_utils.cpp",
67    "$ROOT_DIR/volume/src/external_volume_info.cpp",
68    "$ROOT_DIR/volume/src/process.cpp",
69    "$ROOT_DIR/volume/src/volume_info.cpp",
70    "$ROOT_DIR/volume/src/volume_manager.cpp",
71  ]
72
73  deps = [
74    "${storage_daemon_path}:storage_common_utils",
75    "//third_party/googletest:gtest_main",
76  ]
77
78  external_deps = [
79    "ability_base:base",
80    "ability_base:want",
81    "ability_base:zuri",
82    "access_token:libaccesstoken_sdk",
83    "app_file_service:fileshare_native",
84    "app_file_service:fileuri_native",
85    "app_file_service:sandbox_helper_native",
86    "bundle_framework:appexecfwk_core",
87    "c_utils:utils",
88    "dfs_service:cloud_daemon_kit_inner",
89    "eventhandler:libeventhandler",
90    "hilog:libhilog",
91    "hisysevent:libhisysevent",
92    "huks:libhukssdk",
93    "init:libbegetutil",
94    "ipc:ipc_single",
95    "ipc:libdbinder",
96    "safwk:system_ability_fwk",
97    "samgr:samgr_proxy",
98  ]
99
100  if (enable_user_auth_framework) {
101    defines += [ "USER_AUTH_FRAMEWORK" ]
102    external_deps += [ "user_auth_framework:userauth_client" ]
103  }
104
105  use_exceptions = true
106}
107
108ohos_unittest("storage_daemon_proxy_test") {
109  branch_protector_ret = "pac_ret"
110  sanitize = {
111    integer_overflow = true
112    cfi = true
113    cfi_cross_dso = true
114    debug = false
115    blocklist = "${storage_service_path}/cfi_blocklist.txt"
116  }
117  module_out_path = "storage_service/storage_daemon"
118
119  defines = [
120    "STORAGE_LOG_TAG = \"StorageDaemon\"",
121    "LOG_DOMAIN = 0xD004301",
122  ]
123
124  include_dirs = [
125    "$ROOT_DIR/include",
126    "${storage_service_common_path}/include",
127  ]
128
129  sources = [
130    "$ROOT_DIR/ipc/src/storage_daemon_proxy.cpp",
131    "$ROOT_DIR/ipc/test/storage_daemon_proxy_test.cpp",
132  ]
133
134  deps = [
135    "//third_party/googletest:gmock_main",
136    "//third_party/googletest:gtest_main",
137  ]
138
139  external_deps = [
140    "c_utils:utils",
141    "hilog:libhilog",
142    "ipc:ipc_single",
143    "ipc:libdbinder",
144    "safwk:system_ability_fwk",
145    "samgr:samgr_proxy",
146  ]
147}
148
149ohos_unittest("storage_daemon_stub_test") {
150  branch_protector_ret = "pac_ret"
151  sanitize = {
152    integer_overflow = true
153    cfi = true
154    cfi_cross_dso = true
155    debug = false
156    blocklist = "${storage_service_path}/cfi_blocklist.txt"
157  }
158  module_out_path = "storage_service/storage_daemon"
159
160  defines = [
161    "STORAGE_LOG_TAG = \"StorageDaemon\"",
162    "LOG_DOMAIN = 0xD004301",
163    "private = public",
164  ]
165
166  if (storage_service_user_crypto_manager) {
167    defines += [ "USER_CRYPTO_MANAGER" ]
168  }
169
170  include_dirs = [
171    "$ROOT_DIR/include",
172    "$ROOT_DIR/ipc/test/",
173    "${storage_service_common_path}/include",
174  ]
175
176  sources = [
177    "$ROOT_DIR/ipc/src/storage_daemon_proxy.cpp",
178    "$ROOT_DIR/ipc/src/storage_daemon_stub.cpp",
179    "$ROOT_DIR/ipc/test/storage_daemon_stub_test.cpp",
180    "$ROOT_DIR/user/src/user_manager.cpp",
181    "$ROOT_DIR/utils/mount_argument_utils.cpp",
182  ]
183
184  deps = [
185    "${storage_daemon_path}:storage_common_utils",
186    "//third_party/googletest:gmock_main",
187    "//third_party/googletest:gtest_main",
188  ]
189
190  external_deps = [
191    "access_token:libaccesstoken_sdk",
192    "bundle_framework:appexecfwk_core",
193    "c_utils:utils",
194    "hilog:libhilog",
195    "huks:libhukssdk",
196    "init:libbegetutil",
197    "ipc:ipc_single",
198    "ipc:libdbinder",
199    "safwk:system_ability_fwk",
200    "samgr:samgr_proxy",
201  ]
202
203  if (enable_user_auth_framework) {
204    defines += [ "USER_AUTH_FRAMEWORK" ]
205    external_deps += [ "user_auth_framework:userauth_client" ]
206  }
207}
208
209group("storage_daemon_ipc_test") {
210  testonly = true
211  deps = [
212    ":storage_daemon_proxy_test",
213    ":storage_daemon_stub_test",
214    ":storage_daemon_test",
215  ]
216}
217