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