1# Copyright (c) 2022 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. 13import("//build/test.gni") 14import("//foundation/distributeddatamgr/kv_store/kv_store.gni") 15 16module_output_path = "kv_store/kv_store/distributeddatafwk" 17 18############################################################################### 19config("module_private_config") { 20 visibility = [ ":*" ] 21 22 cflags = [ "-Wno-c99-designator" ] 23 24 include_dirs = [ 25 "${kv_store_base_path}/frameworks/innerkitsimpl/distributeddatasvc/include", 26 "../../../../interfaces/innerkits/distributeddatamgr/include/", 27 "//foundation/distributeddatamgr/kv_store/frameworks/common", 28 "//foundation/distributeddatamgr/kv_store/frameworks/innerkitsimpl/kvdb/include", 29 "//foundation/distributeddatamgr/kv_store/frameworks/innerkitsimpl/kvdb/src", 30 "${kv_store_base_path}/frameworks/innerkitsimpl/kvdb/test/mock", 31 "//foundation/distributeddatamgr/kv_store/frameworks/innerkitsimpl/distributeddatafwk/include", 32 "//foundation/distributeddatamgr/kv_store/frameworks/innerkitsimpl/distributeddatafwk/src", 33 "//foundation/distributeddatamgr/kv_store/frameworks/innerkitsimpl/distributeddatafwk/test/distributedtest/single_kvstore_client", 34 "//foundation/distributeddatamgr/kv_store/interfaces/innerkits/app_distributeddata/include", 35 "//foundation/distributeddatamgr/kv_store/interfaces/innerkits/distributeddata/include", 36 ] 37 lib_dirs = [ "//foundation/appexecfwk/libs" ] 38} 39 40############################################################################### 41ohos_source_set("kvdb_src_file") { 42 testonly = true 43 44 old_sources = [ 45 "../../distributeddatafwk/src/blob.cpp", 46 "../../distributeddatafwk/src/change_notification.cpp", 47 "../../distributeddatafwk/src/data_query.cpp", 48 "../../distributeddatafwk/src/distributed_kv_data_manager.cpp", 49 "../../distributeddatafwk/src/ikvstore_client_death_observer.cpp", 50 "../../distributeddatafwk/src/ikvstore_observer.cpp", 51 "../../distributeddatafwk/src/kv_utils.cpp", 52 "../../distributeddatafwk/src/kvdb_notifier_client.cpp", 53 "../../distributeddatafwk/src/kvdb_notifier_stub.cpp", 54 "../../distributeddatafwk/src/kvstore_client_death_observer.cpp", 55 "../../distributeddatafwk/src/kvstore_datashare_bridge.cpp", 56 "../../distributeddatafwk/src/kvstore_observer_client.cpp", 57 "../../distributeddatafwk/src/kvstore_service_death_notifier.cpp", 58 "../../distributeddatafwk/src/switch_observer_bridge.cpp", 59 "../../distributeddatafwk/src/sync_observer.cpp", 60 ] 61 62 kvdb_sources = [ 63 "../src/backup_manager.cpp", 64 "../src/convertor.cpp", 65 "../src/dev_manager.cpp", 66 "../src/device_convertor.cpp", 67 "../src/kv_types_util.cpp", 68 "../src/kvdb_service_client.cpp", 69 "../src/observer_bridge.cpp", 70 "../src/security_manager.cpp", 71 "../src/single_store_impl.cpp", 72 "../src/store_factory.cpp", 73 "../src/store_manager.cpp", 74 "../src/store_result_set.cpp", 75 "../src/store_util.cpp", 76 "../src/system_api.cpp", 77 "../src/task_executor.cpp", 78 "../src/task_executor_adapter.cpp", 79 ] 80 81 sources = old_sources + kvdb_sources 82 if (qemu_disable) { 83 sources += [ "../src/auto_sync_timer.cpp" ] 84 } else { 85 sources += [ "../src/auto_sync_timer_mock.cpp" ] 86 } 87 configs = [ ":module_private_config" ] 88 89 deps = [ 90 "../../../../databaseutils:database_utils", 91 "../../../../interfaces/innerkits/distributeddatamgr:distributeddata_mgr", 92 "//foundation/distributeddatamgr/kv_store/frameworks/libs/distributeddb:distributeddb", 93 ] 94 external_deps = [ 95 "access_token:libaccesstoken_sdk", 96 "access_token:libtokenid_sdk", 97 "c_utils:utils", 98 "device_manager:devicemanagersdk", 99 "file_api:securitylabel", 100 "hilog:libhilog", 101 "hisysevent:libhisysevent", 102 "hitrace:hitrace_meter", 103 "hitrace:libhitracechain", 104 "huks:libhukssdk", 105 "ipc:ipc_single", 106 "samgr:samgr_proxy", 107 ] 108 if (dms_service_enable && qemu_disable) { 109 external_deps += [ "dmsfwk:distributed_sdk" ] 110 } 111 112 public_external_deps = [ 113 "data_share:datashare_common", 114 "data_share:datashare_provider", 115 ] 116 subsystem_name = "distributeddatamgr" 117 part_name = "kv_store" 118} 119 120ohos_unittest("SingleStoreImplTest") { 121 module_out_path = module_output_path 122 123 sources = [ 124 "../../kvdb/src/kv_hiview_reporter_mock.cpp", 125 "single_store_impl_test.cpp", 126 ] 127 128 configs = [ ":module_private_config" ] 129 130 external_deps = [ 131 "access_token:libaccesstoken_sdk", 132 "access_token:libtoken_setproc", 133 "access_token:libnativetoken", 134 "c_utils:utils", 135 "device_manager:devicemanagersdk", 136 "googletest:gtest", 137 "hilog:libhilog", 138 "ipc:ipc_single", 139 "safwk:system_ability_fwk", 140 "samgr:samgr_proxy", 141 ] 142 143 cflags = [ 144 "-Dprivate=public", 145 "-Dprotected=public", 146 ] 147 148 deps = [ 149 ":kvdb_src_file", 150 "//foundation/distributeddatamgr/kv_store/frameworks/libs/distributeddb/:distributeddb", 151 ] 152} 153 154ohos_unittest("StoreUtilTest") { 155 module_out_path = module_output_path 156 157 sources = [ 158 "../../kvdb/src/kv_hiview_reporter_mock.cpp", 159 "store_util_test.cpp", 160 ] 161 162 configs = [ ":module_private_config" ] 163 164 external_deps = [ 165 "c_utils:utils", 166 "googletest:gtest", 167 "hilog:libhilog", 168 "ipc:ipc_single", 169 "safwk:system_ability_fwk", 170 "samgr:samgr_proxy", 171 ] 172 173 deps = [ 174 ":kvdb_src_file", 175 "//foundation/distributeddatamgr/kv_store/frameworks/libs/distributeddb/:distributeddb", 176 ] 177} 178 179ohos_unittest("BackupManagerTest") { 180 module_out_path = module_output_path 181 182 sources = [ 183 "../../kvdb/src/kv_hiview_reporter_mock.cpp", 184 "backup_manager_test.cpp", 185 ] 186 187 configs = [ ":module_private_config" ] 188 189 external_deps = [ 190 "c_utils:utils", 191 "googletest:gtest", 192 "hilog:libhilog", 193 "ipc:ipc_single", 194 "safwk:system_ability_fwk", 195 "samgr:samgr_proxy", 196 ] 197 198 deps = [ 199 ":kvdb_src_file", 200 "//foundation/distributeddatamgr/kv_store/frameworks/libs/distributeddb/:distributeddb", 201 ] 202} 203 204ohos_unittest("DevManagerTest") { 205 module_out_path = module_output_path 206 207 sources = [ 208 "../../kvdb/src/kv_hiview_reporter_mock.cpp", 209 "dev_manager_test.cpp", 210 ] 211 212 configs = [ ":module_private_config" ] 213 214 external_deps = [ 215 "c_utils:utils", 216 "googletest:gtest", 217 "hilog:libhilog", 218 "ipc:ipc_single", 219 "safwk:system_ability_fwk", 220 "samgr:samgr_proxy", 221 ] 222 223 deps = [ 224 ":kvdb_src_file", 225 "//foundation/distributeddatamgr/kv_store/frameworks/libs/distributeddb/:distributeddb", 226 ] 227} 228 229ohos_unittest("DevManagerMockTest") { 230 module_out_path = module_output_path 231 include_dirs = [ "${kv_store_base_path}/frameworks/innerkitsimpl/kvdb/test" ] 232 sources = [ 233 "${kv_store_base_path}/frameworks/innerkitsimpl/kvdb/test/device_manager_mock.cpp", 234 "../../kvdb/src/kv_hiview_reporter_mock.cpp", 235 "dev_manager_mock_test.cpp", 236 ] 237 238 configs = [ ":module_private_config" ] 239 240 external_deps = [ 241 "c_utils:utils", 242 "device_manager:devicemanagersdk", 243 "googletest:gtest", 244 "hilog:libhilog", 245 "ipc:ipc_single", 246 "safwk:system_ability_fwk", 247 "samgr:samgr_proxy", 248 ] 249 250 deps = [ 251 ":kvdb_src_file", 252 "${kv_store_base_path}/frameworks/libs/distributeddb/:distributeddb", 253 ] 254} 255 256ohos_unittest("SingleStoreImplGetTopTest") { 257 module_out_path = module_output_path 258 259 sources = [ 260 "../../kvdb/src/kv_hiview_reporter_mock.cpp", 261 "single_store_impl_get_top_test.cpp", 262 ] 263 264 configs = [ ":module_private_config" ] 265 266 external_deps = [ 267 "c_utils:utils", 268 "googletest:gtest", 269 "hilog:libhilog", 270 "ipc:ipc_single", 271 "safwk:system_ability_fwk", 272 "samgr:samgr_proxy", 273 ] 274 275 deps = [ 276 ":kvdb_src_file", 277 "//foundation/distributeddatamgr/kv_store/frameworks/libs/distributeddb/:distributeddb", 278 ] 279} 280 281ohos_unittest("StoreFactoryTest") { 282 module_out_path = module_output_path 283 284 sources = [ 285 "../../kvdb/src/kv_hiview_reporter_mock.cpp", 286 "store_factory_test.cpp", 287 ] 288 289 configs = [ ":module_private_config" ] 290 291 external_deps = [ 292 "c_utils:utils", 293 "googletest:gtest", 294 "hilog:libhilog", 295 "huks:libhukssdk", 296 "ipc:ipc_single", 297 "safwk:system_ability_fwk", 298 "samgr:samgr_proxy", 299 ] 300 301 deps = [ 302 ":kvdb_src_file", 303 "//foundation/distributeddatamgr/kv_store/frameworks/libs/distributeddb/:distributeddb", 304 ] 305} 306 307ohos_unittest("SecurityManagerTest") { 308 module_out_path = module_output_path 309 310 sources = [ "security_manager_test.cpp" ] 311 312 configs = [ ":module_private_config" ] 313 314 external_deps = [ 315 "c_utils:utils", 316 "googletest:gtest", 317 "hilog:libhilog", 318 "huks:libhukssdk", 319 "ipc:ipc_single", 320 "safwk:system_ability_fwk", 321 "samgr:samgr_proxy", 322 ] 323 324 deps = [ 325 ":kvdb_src_file", 326 "../../../libs/distributeddb/:distributeddb", 327 ] 328} 329 330ohos_unittest("StoreFactoryMockTest") { 331 module_out_path = module_output_path 332 sources = [ 333 "../../distributeddatafwk/src/blob.cpp", 334 "../../distributeddatafwk/src/ikvstore_observer.cpp", 335 "../../distributeddatafwk/src/kvdb_notifier_client.cpp", 336 "../../distributeddatafwk/src/kvdb_notifier_stub.cpp", 337 "../../distributeddatafwk/src/kvstore_observer_client.cpp", 338 "../../distributeddatafwk/src/kvstore_service_death_notifier.cpp", 339 "../../distributeddatafwk/src/sync_observer.cpp", 340 "../../distributeddatafwk/src/switch_observer_bridge.cpp", 341 "../../kvdb/src/kv_hiview_reporter_mock.cpp", 342 "../src/backup_manager.cpp", 343 "../src/convertor.cpp", 344 "../src/dev_manager.cpp", 345 "../src/device_convertor.cpp", 346 "../src/kv_types_util.cpp", 347 "../src/kvdb_service_client.cpp", 348 "../src/observer_bridge.cpp", 349 "../src/single_store_impl.cpp", 350 "../src/store_factory.cpp", 351 "../src/store_manager.cpp", 352 "../src/store_result_set.cpp", 353 "../src/system_api.cpp", 354 "../src/task_executor.cpp", 355 "../src/task_executor_adapter.cpp", 356 "./mock/src/security_manager_mock.cpp", 357 "./mock/src/store_util_mock.cpp", 358 "store_factory_mock_test.cpp", 359 ] 360 361 if (qemu_disable) { 362 sources += [ "../src/auto_sync_timer.cpp" ] 363 } else { 364 sources += [ "../src/auto_sync_timer_mock.cpp" ] 365 } 366 configs = [ ":module_private_config" ] 367 deps = [ 368 "${kv_store_base_path}/frameworks/libs/distributeddb/:distributeddb", 369 "${kv_store_base_path}/interfaces/innerkits/distributeddata:distributeddata_inner", 370 "${kv_store_base_path}/interfaces/innerkits/distributeddatamgr:distributeddata_mgr", 371 ] 372 373 external_deps = [ 374 "access_token:libaccesstoken_sdk", 375 "c_utils:utils", 376 "device_manager:devicemanagersdk", 377 "file_api:securitylabel", 378 "hilog:libhilog", 379 "hitrace:hitrace_meter", 380 "hitrace:libhitracechain", 381 "huks:libhukssdk", 382 "ipc:ipc_single", 383 "safwk:system_ability_fwk", 384 "samgr:samgr_proxy", 385 ] 386 387 if (dms_service_enable && qemu_disable) { 388 external_deps += [ "dmsfwk:distributed_sdk" ] 389 } 390 391 cflags = [ "-Dprivate=public" ] 392 393 public_external_deps = [ 394 "googletest:gmock_main", 395 "googletest:gtest_main", 396 ] 397 398 use_exceptions = true 399} 400 401ohos_unittest("SingleStoreImplMockTest") { 402 module_out_path = module_output_path 403 sources = [ 404 "../../distributeddatafwk/src/blob.cpp", 405 "../../distributeddatafwk/src/change_notification.cpp", 406 "../../distributeddatafwk/src/data_query.cpp", 407 "../../distributeddatafwk/src/distributed_kv_data_manager.cpp", 408 "../../distributeddatafwk/src/ikvstore_client_death_observer.cpp", 409 "../../distributeddatafwk/src/ikvstore_observer.cpp", 410 "../../distributeddatafwk/src/kv_utils.cpp", 411 "../../distributeddatafwk/src/kvdb_notifier_stub.cpp", 412 "../../distributeddatafwk/src/kvstore_client_death_observer.cpp", 413 "../../distributeddatafwk/src/kvstore_datashare_bridge.cpp", 414 "../../distributeddatafwk/src/kvstore_observer_client.cpp", 415 "../../distributeddatafwk/src/kvstore_service_death_notifier.cpp", 416 "../../distributeddatafwk/src/switch_observer_bridge.cpp", 417 "../../distributeddatafwk/src/sync_observer.cpp", 418 "../../kvdb/src/kv_hiview_reporter_mock.cpp", 419 "../src/backup_manager.cpp", 420 "../src/device_convertor.cpp", 421 "../src/kv_types_util.cpp", 422 "../src/security_manager.cpp", 423 "../src/single_store_impl.cpp", 424 "../src/store_factory.cpp", 425 "../src/store_manager.cpp", 426 "../src/store_result_set.cpp", 427 "../src/store_util.cpp", 428 "../src/system_api.cpp", 429 "../src/task_executor_adapter.cpp", 430 "./mock/src/accesstoken_kit_mock.cpp", 431 "./mock/src/convertor_mock.cpp", 432 "./mock/src/dev_manager_mock.cpp", 433 "./mock/src/kvdb_notifier_client_mock.cpp", 434 "./mock/src/kvdb_service_client_mock.cpp", 435 "./mock/src/observer_bridge_mock.cpp", 436 "./mock/src/task_executor_mock.cpp", 437 "single_store_impl_mock_test.cpp", 438 ] 439 440 if (qemu_disable) { 441 sources += [ "../src/auto_sync_timer.cpp" ] 442 } else { 443 sources += [ "../src/auto_sync_timer_mock.cpp" ] 444 } 445 446 configs = [ ":module_private_config" ] 447 deps = [ 448 "${kv_store_base_path}/frameworks/libs/distributeddb/:distributeddb", 449 "${kv_store_base_path}/interfaces/innerkits/distributeddata:distributeddata_client_sync", 450 "${kv_store_base_path}/interfaces/innerkits/distributeddata:distributeddata_inner", 451 "${kv_store_base_path}/interfaces/innerkits/distributeddatamgr:distributeddata_mgr", 452 "../../../../databaseutils:database_utils", 453 ] 454 455 external_deps = [ 456 "access_token:libaccesstoken_sdk", 457 "access_token:libtokenid_sdk", 458 "c_utils:utils", 459 "device_manager:devicemanagersdk", 460 "file_api:securitylabel", 461 "hilog:libhilog", 462 "hitrace:hitrace_meter", 463 "hitrace:libhitracechain", 464 "huks:libhukssdk", 465 "ipc:ipc_single", 466 "safwk:system_ability_fwk", 467 "samgr:samgr_proxy", 468 ] 469 470 if (dms_service_enable && qemu_disable) { 471 external_deps += [ "dmsfwk:distributed_sdk" ] 472 } 473 474 public_external_deps = [ 475 "data_share:datashare_common", 476 "data_share:datashare_provider", 477 "googletest:gmock_main", 478 "googletest:gtest_main", 479 ] 480 481 defines = [ 482 "private=public", 483 "protected=public", 484 ] 485 486 use_exceptions = true 487} 488 489ohos_unittest("KvHiviewReporterTest") { 490 module_out_path = module_output_path 491 sources = [ 492 "../../kvdb/src/kv_hiview_reporter.cpp", 493 "./mock/src/hisysevent_mock.cpp", 494 "kv_hiview_reporter_test.cpp", 495 "../src/store_util.cpp", 496 ] 497 configs = [ ":module_private_config" ] 498 deps = [ 499 "${kv_store_base_path}/frameworks/libs/distributeddb:distributeddb", 500 "${kv_store_base_path}/interfaces/innerkits/distributeddata:distributeddata_inner", 501 "${kv_store_base_path}/databaseutils:database_utils", 502 ] 503 504 external_deps = [ 505 "c_utils:utils", 506 "hilog:libhilog", 507 "hisysevent:libhisysevent", 508 "googletest:gmock_main", 509 "googletest:gtest_main", 510 ] 511 512 defines = [ 513 "private=public", 514 "protected=public", 515 ] 516} 517 518############################################################################### 519group("unittest") { 520 testonly = true 521 522 deps = [] 523 deps += [ 524 ":BackupManagerTest", 525 ":DevManagerMockTest", 526 ":DevManagerTest", 527 ":SingleStoreImplGetTopTest", 528 ":SingleStoreImplMockTest", 529 ":SingleStoreImplTest", 530 ":StoreFactoryMockTest", 531 ":StoreFactoryTest", 532 ":StoreUtilTest", 533 ":KvHiviewReporterTest", 534 ] 535 536 if (!use_libfuzzer) { 537 deps += [ ":SecurityManagerTest" ] 538 } 539} 540############################################################################### 541