• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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