1# Copyright (c) 2022-2025 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_service/storage_daemon" 28 29 defines = [ 30 "STORAGE_LOG_TAG = \"StorageDaemon\"", 31 "LOG_DOMAIN = 0xD004301", 32 "private = public", 33 ] 34 35 if (storage_service_user_crypto_manager) { 36 defines += [ "USER_CRYPTO_MANAGER" ] 37 } 38 39 if (storage_service_external_storage_manager) { 40 defines += [ "EXTERNAL_STORAGE_MANAGER" ] 41 } 42 43 cflags_cc = [ "-Wno-unused-const-variable" ] 44 45 include_dirs = [ 46 "$ROOT_DIR/include", 47 "$ROOT_DIR/include/crypto", 48 "$ROOT_DIR/utils", 49 "${storage_manager_path}/include", 50 "${storage_daemon_path}/include/utils", 51 "${storage_interface_path}/innerkits/storage_manager/native", 52 "${storage_service_common_path}/include", 53 ] 54 55 sources = [ 56 "$ROOT_DIR/crypto/src/app_clone_key_manager.cpp", 57 "$ROOT_DIR/crypto/src/key_backup.cpp", 58 "$ROOT_DIR/crypto/test/key_manager_mock.cpp", 59 "$ROOT_DIR/crypto/test/key_manager_ext_mock.cpp", 60 "$ROOT_DIR/disk/src/disk_config.cpp", 61 "$ROOT_DIR/disk/src/disk_info.cpp", 62 "$ROOT_DIR/disk/src/disk_manager.cpp", 63 "$ROOT_DIR/ipc/src/storage_daemon.cpp", 64 "$ROOT_DIR/ipc/src/storage_daemon_provider.cpp", 65 "$ROOT_DIR/ipc/src/storage_manager_client.cpp", 66 "$ROOT_DIR/ipc/test/storage_daemon_test.cpp", 67 "$ROOT_DIR/quota/quota_manager.cpp", 68 "$ROOT_DIR/user/src/mount_manager.cpp", 69 "$ROOT_DIR/user/src/mount_manager_ext.cpp", 70 "$ROOT_DIR/user/src/user_manager.cpp", 71 "$ROOT_DIR/utils/string_utils.cpp", 72 "$ROOT_DIR/utils/test/common/help_utils.cpp", 73 "$ROOT_DIR/volume/src/external_volume_info.cpp", 74 "$ROOT_DIR/volume/src/process.cpp", 75 "$ROOT_DIR/volume/src/volume_info.cpp", 76 "$ROOT_DIR/volume/src/volume_manager.cpp", 77 "${storage_manager_path}/innerkits_impl/src/storage_file_raw_data.cpp", 78 ] 79 80 deps = [ 81 "${storage_daemon_path}:storage_common_utils", 82 "${storage_daemon_path}:storage_daemon_ipc", 83 "${storage_interface_path}/innerkits/storage_manager/native:storage_manager_header", 84 ] 85 86 external_deps = [ 87 "ability_base:base", 88 "ability_base:want", 89 "ability_base:zuri", 90 "access_token:libaccesstoken_sdk", 91 "app_file_service:fileshare_native", 92 "app_file_service:fileuri_native", 93 "app_file_service:sandbox_helper_native", 94 "bundle_framework:appexecfwk_core", 95 "c_utils:utils", 96 "dfs_service:cloud_daemon_kit_inner", 97 "eventhandler:libeventhandler", 98 "googletest:gmock_main", 99 "googletest:gtest_main", 100 "hicollie:libhicollie", 101 "hilog:libhilog", 102 "hisysevent:libhisysevent", 103 "hitrace:hitrace_meter", 104 "huks:libhukssdk", 105 "init:libbegetutil", 106 "ipc:ipc_single", 107 "ipc:libdbinder", 108 "safwk:system_ability_fwk", 109 "samgr:samgr_proxy", 110 ] 111 112 if (enable_user_auth_framework) { 113 defines += [ "USER_AUTH_FRAMEWORK" ] 114 external_deps += [ "user_auth_framework:userauth_client" ] 115 } 116 117 if (enable_huks_hdi) { 118 defines += [ "HUKS_IDL_ENVIRONMENT" ] 119 external_deps += [ "drivers_interface_huks:libhuks_proxy_1.1", ] 120 } 121 122 use_exceptions = true 123} 124 125ohos_unittest("storage_manager_clt_test") { 126 branch_protector_ret = "pac_ret" 127 sanitize = { 128 integer_overflow = true 129 cfi = true 130 cfi_cross_dso = true 131 debug = false 132 blocklist = "${storage_service_path}/cfi_blocklist.txt" 133 } 134 module_out_path = "storage_service/storage_service/storage_daemon" 135 136 sources = [ 137 "${storage_daemon_path}/disk/src/disk_info.cpp", 138 "${storage_daemon_path}/ipc/src/storage_manager_client.cpp", 139 "${storage_daemon_path}/volume/src/external_volume_info.cpp", 140 "${storage_daemon_path}/volume/src/process.cpp", 141 "${storage_daemon_path}/volume/src/volume_info.cpp", 142 "${storage_manager_path}/innerkits_impl/src/disk.cpp", 143 "${storage_manager_path}/innerkits_impl/src/volume_core.cpp", 144 "${storage_manager_path}/innerkits_impl/src/volume_external.cpp", 145 "${storage_manager_path}/mock/storage_manager_proxy_mock.cpp", 146 "storage_manager_client_test.cpp", 147 ] 148 149 include_dirs = [ 150 "${storage_daemon_path}/include", 151 "${storage_interface_path}/innerkits/storage_manager/native", 152 "${storage_manager_path}/include", 153 "${storage_service_common_path}/include", 154 ] 155 156 defines = [ 157 "STORAGE_LOG_TAG = \"StorageDaemon\"", 158 "LOG_DOMAIN = 0xD004301", 159 "private = public", 160 ] 161 162 deps = [ 163 "${storage_daemon_path}:storage_common_utils", 164 "${storage_interface_path}/innerkits/storage_manager/native:storage_manager_header", 165 ] 166 167 external_deps = [ 168 "c_utils:utils", 169 "googletest:gmock_main", 170 "googletest:gtest_main", 171 "hilog:libhilog", 172 "init:libbegetutil", 173 "ipc:ipc_single", 174 "os_account:os_account_innerkits", 175 "safwk:system_ability_fwk", 176 "samgr:samgr_proxy", 177 ] 178} 179 180ohos_unittest("storage_daemon_provider_test") { 181 branch_protector_ret = "pac_ret" 182 sanitize = { 183 integer_overflow = true 184 cfi = true 185 cfi_cross_dso = true 186 debug = false 187 blocklist = "${storage_service_path}/cfi_blocklist.txt" 188 } 189 module_out_path = "storage_service/storage_service/storage_daemon" 190 191 defines = [ 192 "STORAGE_LOG_TAG = \"StorageDaemon\"", 193 "LOG_DOMAIN = 0xD004301", 194 ] 195 196 if (storage_service_user_crypto_manager) { 197 defines += [ "USER_CRYPTO_MANAGER" ] 198 } 199 200 if (storage_service_external_storage_manager) { 201 defines += [ "EXTERNAL_STORAGE_MANAGER" ] 202 } 203 204 include_dirs = [ 205 "${storage_daemon_path}/include", 206 "${storage_daemon_path}/utils", 207 "${storage_interface_path}/innerkits/storage_manager/native", 208 "${storage_daemon_path}/ipc/src", 209 "${storage_daemon_path}/ipc/test", 210 "${storage_daemon_path}/include/crypto", 211 ] 212 213 sources = [ 214 "${storage_daemon_path}/crypto/test/key_manager_mock.cpp", 215 "${storage_daemon_path}/crypto/test/key_manager_ext_mock.cpp", 216 "${storage_daemon_path}/disk/src/disk_info.cpp", 217 "${storage_daemon_path}/disk/src/disk_manager.cpp", 218 "${storage_daemon_path}/ipc/src/storage_daemon.cpp", 219 "${storage_daemon_path}/ipc/src/storage_daemon_provider.cpp", 220 "${storage_daemon_path}/ipc/src/storage_manager_client.cpp", 221 "${storage_daemon_path}/ipc/test/storage_daemon_provider_test.cpp", 222 "${storage_daemon_path}/observer/appstate_observer.cpp", 223 "${storage_daemon_path}/quota/quota_manager.cpp", 224 "${storage_daemon_path}/user/src/mount_manager.cpp", 225 "${storage_daemon_path}/user/src/mount_manager_ext.cpp", 226 "${storage_daemon_path}/user/src/user_manager.cpp", 227 "${storage_daemon_path}/utils/test/common/help_utils.cpp", 228 "${storage_daemon_path}/volume/src/external_volume_info.cpp", 229 "${storage_daemon_path}/volume/src/volume_info.cpp", 230 "${storage_daemon_path}/volume/src/volume_manager.cpp", 231 "${storage_manager_path}/innerkits_impl/src/storage_file_raw_data.cpp", 232 ] 233 234 deps = [ 235 "${storage_daemon_path}:storage_common_utils", 236 "${storage_daemon_path}:storage_daemon_ipc", 237 "${storage_daemon_path}/crypto:libsdcrypto", 238 "${storage_interface_path}/innerkits/storage_manager/native:storage_manager_header", 239 "${storage_daemon_path}/libfscrypt:libfscryptutils", 240 ] 241 242 external_deps = [ 243 "ability_base:base", 244 "ability_base:want", 245 "ability_base:zuri", 246 "access_token:libaccesstoken_sdk", 247 "app_file_service:fileshare_native", 248 "app_file_service:fileuri_native", 249 "app_file_service:sandbox_helper_native", 250 "bundle_framework:appexecfwk_core", 251 "c_utils:utils", 252 "dfs_service:cloud_daemon_kit_inner", 253 "eventhandler:libeventhandler", 254 "googletest:gmock_main", 255 "googletest:gtest_main", 256 "hicollie:libhicollie", 257 "hilog:libhilog", 258 "hisysevent:libhisysevent", 259 "hitrace:hitrace_meter", 260 "huks:libhukssdk", 261 "init:libbegetutil", 262 "ipc:ipc_single", 263 "ipc:libdbinder", 264 "safwk:system_ability_fwk", 265 "samgr:samgr_proxy" 266 ] 267 cflags_cc = [ "--coverage" ] 268 ldflags = [ "--coverage" ] 269 270 if (storage_service_media_fuse) { 271 defines += [ "STORAGE_SERVICE_MEDIA_FUSE" ] 272 external_deps += [ "ability_runtime:app_manager" ] 273 } 274 275 if (enable_user_auth_framework) { 276 defines += [ "USER_AUTH_FRAMEWORK" ] 277 external_deps += [ "user_auth_framework:userauth_client" ] 278 } 279 280 use_exceptions = true 281} 282 283group("storage_daemon_ipc_test") { 284 testonly = true 285 deps = [ 286 ":storage_daemon_provider_test", 287 ":storage_daemon_test", 288 ":storage_manager_clt_test", 289 ] 290} 291