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