• 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/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