• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021 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/relational_store/relational_store.gni")
15
16module_output_path = "relational_store/relational_store/native_rdb"
17
18###############################################################################
19config("module_private_config") {
20  visibility = [ ":*" ]
21
22  include_dirs = [
23    "${relational_store_common_path}/include",
24    "${relational_store_native_path}/rdb_crypt",
25    "${relational_store_native_path}/rdb/include",
26    "${relational_store_innerapi_path}/rdb/include",
27    "${relational_store_native_path}/dfx/include",
28    "${relational_store_native_path}/rdb/src",
29    "${relational_store_innerapi_path}/appdatafwk/include",
30    "${relational_store_base_path}/test/native/rdb/unittest",
31  ]
32
33  defines = [ "RELATIONAL_STORE" ]
34}
35
36ohos_unittest("NativeRdbMultiThreadTest") {
37  module_out_path = module_output_path
38
39  sources = [
40    "unittest/common.cpp",
41    "unittest/multiThread/rdb_connection_test.cpp",
42  ]
43
44  configs = [ ":module_private_config" ]
45
46  external_deps = [
47    "ability_base:zuri",
48    "ability_runtime:dataobs_manager",
49    "c_utils:utils",
50    "googletest:gtest_main",
51    "hilog:libhilog",
52    "huks:libhukssdk",
53    "ipc:ipc_core",
54    "kv_store:datamgr_common",
55    "kv_store:distributeddata_inner",
56    "kv_store:distributeddb",
57    "kv_store:distributeddb_client",
58    "sqlite:sqlite",
59  ]
60
61  deps = [ "${relational_store_innerapi_path}/rdb:native_rdb" ]
62}
63
64ohos_unittest("NativeRdbMultiProcessTest") {
65  module_out_path = module_output_path
66
67  sources = [
68    "unittest/common.cpp",
69    "unittest/multiThread/rdb_store_multiprocess_createDB_test.cpp",
70  ]
71  include_dirs = [
72    "${relational_store_common_path}/include",
73    "${relational_store_native_path}/rdb/include",
74    "${relational_store_innerapi_path}/rdb/include",
75    "${relational_store_native_path}/dfx/include",
76    "${relational_store_native_path}/rdb/src",
77    "${relational_store_innerapi_path}/appdatafwk/include",
78    "${relational_store_base_path}/test/native/rdb/unittest",
79  ]
80
81  defines = [ "RELATIONAL_STORE" ]
82
83  external_deps = [
84    "ability_base:zuri",
85    "ability_runtime:dataobs_manager",
86    "c_utils:utils",
87    "googletest:gtest_main",
88    "hilog:libhilog",
89    "huks:libhukssdk",
90    "ipc:ipc_core",
91    "kv_store:datamgr_common",
92    "kv_store:distributeddb",
93    "kv_store:distributeddb_client",
94    "sqlite:sqlite",
95  ]
96
97  deps = [ "${relational_store_innerapi_path}/rdb:native_rdb" ]
98}
99
100ohos_unittest("NativeRdbLogTest") {
101  module_out_path = module_output_path
102
103  sources = [
104    "unittest/common.cpp",
105    "unittest/rdb_error_log_test/get_rdb_store_test.cpp",
106    "unittest/rdb_error_log_test/rdb_error_log_test.cpp",
107    "unittest/rdb_error_log_test/rdb_perfStat_test.cpp",
108  ]
109  sources += [
110    "${relational_store_native_path}/rdb/src/suspender.cpp",
111    "${relational_store_native_path}/rdb/src/sqlite_utils.cpp",
112  ]
113  include_dirs = [
114    "${relational_store_common_path}/include",
115    "${relational_store_native_path}/rdb/include",
116    "${relational_store_innerapi_path}/rdb/include",
117    "${relational_store_base_path}/test/native/rdb/unittest",
118  ]
119
120  defines = [ "RELATIONAL_STORE" ]
121
122  external_deps = [
123    "ability_base:zuri",
124    "ability_runtime:dataobs_manager",
125    "c_utils:utils",
126    "googletest:gtest",
127    "googletest:gtest_main",
128    "hilog:libhilog",
129    "huks:libhukssdk",
130    "ipc:ipc_core",
131    "kv_store:distributeddata_inner",
132    "kv_store:distributeddb",
133    "kv_store:distributeddb_client",
134    "sqlite:sqlite",
135  ]
136
137  deps = [ "${relational_store_innerapi_path}/rdb:native_rdb" ]
138}
139
140ohos_unittest("NativeRdbTest") {
141  module_out_path = module_output_path
142
143  cflags = [
144    "-fno-access-control",  # Ignore Private Member Access Control
145  ]
146
147  sources = [
148    "unittest/big_integer_test.cpp",
149    "unittest/cache_result_set_test.cpp",
150    "unittest/common.cpp",
151    "unittest/connection_test.cpp",
152    "unittest/raw_data_parser_test.cpp",
153    "unittest/rd_utils_test.cpp",
154    "unittest/rdb_attach_test.cpp",
155    "unittest/rdb_bigint_test.cpp",
156    "unittest/rdb_callback_icu_test.cpp",
157    "unittest/rdb_concurrent_querywithcurd_test.cpp",
158    "unittest/rdb_corrupt_test.cpp",
159    "unittest/rdb_delete_test.cpp",
160    "unittest/rdb_distributed_test.cpp",
161    "unittest/rdb_double_write_test.cpp",
162    "unittest/rdb_encrypt_decrypt_test.cpp",
163    "unittest/rdb_execute_rd_test.cpp",
164    "unittest/rdb_execute_test.cpp",
165    "unittest/rdb_get_store_test.cpp",
166    "unittest/rdb_helper_test.cpp",
167    "unittest/rdb_insert_test.cpp",
168    "unittest/rdb_memory_db_test.cpp",
169    "unittest/rdb_open_callback_test.cpp",
170    "unittest/rdb_predicates_join_b_test.cpp",
171    "unittest/rdb_predicates_join_test.cpp",
172    "unittest/rdb_predicates_test.cpp",
173    "unittest/rdb_rd_data_aging_test.cpp",
174    "unittest/rdb_read_only_test.cpp",
175    "unittest/rdb_security_manager_test.cpp",
176    "unittest/rdb_service_proxy_test.cpp",
177    "unittest/rdb_sql_utils_test.cpp",
178    "unittest/rdb_sqlite_shared_result_set_test.cpp",
179    "unittest/rdb_step_result_get_row_test.cpp",
180    "unittest/rdb_step_result_set_test.cpp",
181    "unittest/rdb_store_backup_restore_test.cpp",
182    "unittest/rdb_store_concurrent_test.cpp",
183    "unittest/rdb_store_config_test.cpp",
184    "unittest/rdb_store_impl_test.cpp",
185    "unittest/rdb_store_interface_test.cpp",
186    "unittest/rdb_store_rekey_test.cpp",
187    "unittest/rdb_store_subscribe_test.cpp",
188    "unittest/rdb_trans_db_test.cpp",
189    "unittest/rdb_transaction_test.cpp",
190    "unittest/rdb_update_test.cpp",
191    "unittest/rdb_upgrade_test.cpp",
192    "unittest/rdb_utils_test.cpp",
193    "unittest/rdb_value_bucket_test.cpp",
194    "unittest/rdb_wal_limit_test.cpp",
195    "unittest/sqlite_utils_test.cpp",
196    "unittest/transaction_test.cpp",
197    "unittest/value_object_test.cpp",
198    "unittest/delay_notify_test.cpp",
199  ]
200
201  if (is_ohos) {
202    sources += [
203      "unittest/rdb_double_write_binlog_test.cpp",
204    ]
205  }
206
207  sources += [
208    "${relational_store_native_path}/appdatafwk/src/serializable.cpp",
209    "${relational_store_native_path}/appdatafwk/src/general_endian.cpp",
210    "${relational_store_native_path}/appdatafwk/src/shared_block.cpp",
211    "${relational_store_native_path}/dfx/src/rdb_radar_reporter.cpp",
212    "${relational_store_native_path}/dfx/src/rdb_stat_reporter.cpp",
213    "${relational_store_native_path}/rdb/src/delay_notify.cpp",
214    "${relational_store_native_path}/rdb/src/rdb_store_impl.cpp",
215    "${relational_store_native_path}/rdb/mock/src/rdb_fault_hiview_reporter.cpp",
216    "${relational_store_native_path}/rdb/src/base_transaction.cpp",
217    "${relational_store_native_path}/rdb/src/connection.cpp",
218    "${relational_store_native_path}/rdb/src/connection_pool.cpp",
219    "${relational_store_native_path}/rdb/src/grd_api_manager.cpp",
220    "${relational_store_native_path}/rdb/src/global_resource.cpp",
221    "${relational_store_native_path}/rdb/src/knowledge_schema_helper.cpp",
222    "${relational_store_native_path}/rdb/src/raw_data_parser.cpp",
223    "${relational_store_native_path}/rdb/src/rd_connection.cpp",
224    "${relational_store_native_path}/rdb/src/rd_statement.cpp",
225    "${relational_store_native_path}/rdb/src/rd_utils.cpp",
226    "${relational_store_native_path}/rdb/src/rdb_icu_manager.cpp",
227    "${relational_store_native_path}/rdb/src/rdb_local_db_observer.cpp",
228    "${relational_store_native_path}/rdb/src/rdb_manager_impl.cpp",
229    "${relational_store_native_path}/rdb/src/rdb_notifier_stub.cpp",
230    "${relational_store_native_path}/rdb/src/rdb_obs_manager.cpp",
231    "${relational_store_native_path}/rdb/src/rdb_perfStat.cpp",
232    "${relational_store_native_path}/rdb/src/rdb_security_manager.cpp",
233    "${relational_store_native_path}/rdb/src/rdb_service_proxy.cpp",
234    "${relational_store_native_path}/rdb/src/rdb_sql_log.cpp",
235    "${relational_store_native_path}/rdb/src/rdb_sql_statistic.cpp",
236    "${relational_store_native_path}/rdb/src/rdb_time_utils.cpp",
237    "${relational_store_native_path}/rdb/src/result_set_proxy.cpp",
238    "${relational_store_native_path}/rdb/src/security_policy.cpp",
239    "${relational_store_native_path}/rdb/src/share_block.cpp",
240    "${relational_store_native_path}/rdb/src/shared_block_serializer_info.cpp",
241    "${relational_store_native_path}/rdb/src/sqlite_connection.cpp",
242    "${relational_store_native_path}/rdb/src/sqlite_default_function.cpp",
243    "${relational_store_native_path}/rdb/src/sqlite_global_config.cpp",
244    "${relational_store_native_path}/rdb/src/sqlite_shared_result_set.cpp",
245    "${relational_store_native_path}/rdb/src/sqlite_sql_builder.cpp",
246    "${relational_store_native_path}/rdb/src/sqlite_statement.cpp",
247    "${relational_store_native_path}/rdb/src/sqlite_utils.cpp",
248    "${relational_store_native_path}/rdb/src/step_result_set.cpp",
249    "${relational_store_native_path}/rdb/src/string_utils.cpp",
250    "${relational_store_native_path}/rdb/src/suspender.cpp",
251    "${relational_store_native_path}/rdb/src/task_executor.cpp",
252    "${relational_store_native_path}/rdb/src/trans_db.cpp",
253  ]
254
255  configs = [ ":module_private_config" ]
256
257  external_deps = [
258    "ability_base:zuri",
259    "ability_runtime:dataobs_manager",
260    "json:nlohmann_json_static",
261    "c_utils:utils",
262    "file_api:securitylabel",
263    "googletest:gtest_main",
264    "hilog:libhilog",
265    "hisysevent:libhisysevent",
266    "ipc:ipc_core",
267    "kv_store:datamgr_common",
268    "kv_store:distributeddata_inner",
269    "kv_store:distributeddb",
270    "kv_store:distributeddb_client",
271    "samgr:samgr_proxy",
272    "sqlite:sqlite",
273  ]
274
275  deps = [ "${relational_store_innerapi_path}/rdb:native_rdb" ]
276}
277
278ohos_unittest("NativeRdbSecurityManagerTest") {
279  module_out_path = module_output_path
280
281  cflags = [
282    "-fno-access-control",  # Ignore Private Member Access Control
283  ]
284
285  include_dirs = [
286    "${relational_store_native_path}/obs_mgr_adapter",
287    "${relational_store_native_path}/icu/include",
288  ]
289
290  sources = [
291    "unittest/rdb_encrypt_upgrade_test.cpp",
292  ]
293
294  sources += [
295    "${relational_store_native_path}/appdatafwk/src/serializable.cpp",
296    "${relational_store_native_path}/appdatafwk/src/general_endian.cpp",
297    "${relational_store_native_path}/appdatafwk/src/shared_block.cpp",
298    "${relational_store_native_path}/dfx/src/rdb_radar_reporter.cpp",
299    "${relational_store_native_path}/rdb/mock/src/rdb_fault_hiview_reporter.cpp",
300    "${relational_store_native_path}/dfx/src/rdb_stat_reporter.cpp",
301    "${relational_store_native_path}/obs_mgr_adapter/obs_mgr_adapter.cpp",
302    "${relational_store_native_path}/rdb/src/abs_predicates.cpp",
303    "${relational_store_native_path}/rdb/src/abs_rdb_predicates.cpp",
304    "${relational_store_native_path}/rdb/src/abs_result_set.cpp",
305    "${relational_store_native_path}/rdb/src/abs_shared_result_set.cpp",
306    "${relational_store_native_path}/rdb/src/base_transaction.cpp",
307    "${relational_store_native_path}/rdb/src/big_integer.cpp",
308    "${relational_store_native_path}/rdb/src/cache_result_set.cpp",
309    "${relational_store_native_path}/rdb/src/connection.cpp",
310    "${relational_store_native_path}/rdb/src/connection_pool.cpp",
311    "${relational_store_native_path}/rdb/src/delay_notify.cpp",
312    "${relational_store_native_path}/rdb/src/grd_api_manager.cpp",
313    "${relational_store_native_path}/rdb/src/global_resource.cpp",
314    "${relational_store_native_path}/rdb/src/knowledge_schema_helper.cpp",
315    "${relational_store_native_path}/rdb/src/raw_data_parser.cpp",
316    "${relational_store_native_path}/rdb/src/rd_connection.cpp",
317    "${relational_store_native_path}/rdb/src/rd_statement.cpp",
318    "${relational_store_native_path}/rdb/src/rd_utils.cpp",
319    "${relational_store_native_path}/rdb/src/rdb_icu_manager.cpp",
320    "${relational_store_native_path}/rdb/src/rdb_helper.cpp",
321    "${relational_store_native_path}/rdb/src/rdb_local_db_observer.cpp",
322    "${relational_store_native_path}/rdb/src/rdb_manager_impl.cpp",
323    "${relational_store_native_path}/rdb/src/rdb_notifier_stub.cpp",
324    "${relational_store_native_path}/rdb/src/rdb_obs_manager.cpp",
325    "${relational_store_native_path}/rdb/src/rdb_perfStat.cpp",
326    "${relational_store_native_path}/rdb/src/rdb_predicates.cpp",
327    "${relational_store_native_path}/rdb/src/rdb_security_manager.cpp",
328    "${relational_store_native_path}/rdb/src/rdb_service_proxy.cpp",
329    "${relational_store_native_path}/rdb/src/rdb_sql_log.cpp",
330    "${relational_store_native_path}/rdb/src/rdb_sql_statistic.cpp",
331    "${relational_store_native_path}/rdb/src/rdb_sql_utils.cpp",
332    "${relational_store_native_path}/rdb/src/rdb_store.cpp",
333    "${relational_store_native_path}/rdb/src/rdb_store_config.cpp",
334    "${relational_store_native_path}/rdb/src/rdb_store_impl.cpp",
335    "${relational_store_native_path}/rdb/src/rdb_store_manager.cpp",
336    "${relational_store_native_path}/rdb/src/rdb_time_utils.cpp",
337    "${relational_store_native_path}/rdb/src/rdb_types_util.cpp",
338    "${relational_store_native_path}/rdb/src/result_set_proxy.cpp",
339    "${relational_store_native_path}/rdb/src/security_policy.cpp",
340    "${relational_store_native_path}/rdb/src/share_block.cpp",
341    "${relational_store_native_path}/rdb/src/shared_block_serializer_info.cpp",
342    "${relational_store_native_path}/rdb/src/sqlite_connection.cpp",
343    "${relational_store_native_path}/rdb/src/sqlite_default_function.cpp",
344    "${relational_store_native_path}/rdb/src/sqlite_global_config.cpp",
345    "${relational_store_native_path}/rdb/src/sqlite_shared_result_set.cpp",
346    "${relational_store_native_path}/rdb/src/sqlite_sql_builder.cpp",
347    "${relational_store_native_path}/rdb/src/sqlite_statement.cpp",
348    "${relational_store_native_path}/rdb/src/sqlite_utils.cpp",
349    "${relational_store_native_path}/rdb/src/step_result_set.cpp",
350    "${relational_store_native_path}/rdb/src/string_utils.cpp",
351    "${relational_store_native_path}/rdb/src/suspender.cpp",
352    "${relational_store_native_path}/rdb/src/task_executor.cpp",
353    "${relational_store_native_path}/rdb/src/trans_db.cpp",
354    "${relational_store_native_path}/rdb/src/transaction.cpp",
355    "${relational_store_native_path}/rdb/src/transaction_impl.cpp",
356    "${relational_store_native_path}/rdb/src/value_object.cpp",
357    "${relational_store_native_path}/rdb/src/values_bucket.cpp",
358    "${relational_store_native_path}/rdb/src/values_buckets.cpp",
359  ]
360
361  configs = [ ":module_private_config" ]
362
363  external_deps = [
364    "ability_base:zuri",
365    "ability_runtime:dataobs_manager",
366    "json:nlohmann_json_static",
367    "c_utils:utils",
368    "file_api:securitylabel",
369    "googletest:gtest_main",
370    "hilog:libhilog",
371    "hisysevent:libhisysevent",
372    "huks:libhukssdk",
373    "ipc:ipc_core",
374    "kv_store:database_utils",
375    "kv_store:datamgr_common",
376    "kv_store:distributeddata_inner",
377    "kv_store:distributeddb_client",
378    "samgr:samgr_proxy",
379    "sqlite:sqlite",
380  ]
381}
382
383ohos_unittest("DelayActuatorTest") {
384  module_out_path = module_output_path
385
386  sources = [
387    "unittest/delay_actuator_test.cpp",
388  ]
389  include_dirs = [
390    "${relational_store_common_path}/include",
391    "${relational_store_native_path}/rdb/include",
392    "${relational_store_innerapi_path}/rdb/include",
393    "${relational_store_base_path}/test/native/rdb/unittest",
394  ]
395
396  defines = [ "RELATIONAL_STORE" ]
397
398  external_deps = [
399    "ability_base:zuri",
400    "ability_runtime:dataobs_manager",
401    "c_utils:utils",
402    "googletest:gtest",
403    "googletest:gtest_main",
404    "hilog:libhilog",
405    "huks:libhukssdk",
406    "ipc:ipc_core",
407    "kv_store:distributeddata_inner",
408    "kv_store:distributeddb",
409    "kv_store:distributeddb_client",
410    "sqlite:sqlite",
411  ]
412
413  deps = [ "${relational_store_innerapi_path}/rdb:native_rdb" ]
414}
415
416###############################################################################
417group("unittest") {
418  testonly = true
419
420  deps = [
421    ":DelayActuatorTest",
422    ":NativeRdbLogTest",
423    ":NativeRdbMultiProcessTest",
424    ":NativeRdbMultiThreadTest",
425    ":NativeRdbTest",
426    ":NativeRdbSecurityManagerTest",
427  ]
428}
429
430###############################################################################
431
432group("fuzztest") {
433  testonly = true
434  deps = []
435  deps += [
436    "fuzztest/rdbhelper_fuzzer:fuzztest",
437    "fuzztest/rdbimpl_fuzzer:fuzztest",
438    "fuzztest/rdbrdutils_fuzzer:fuzztest",
439    "fuzztest/rdbstore_fuzzer:fuzztest",
440    "fuzztest/rdstatement_fuzzer:fuzztest",
441    "fuzztest/returning_fuzzer:fuzztest",
442    "fuzztest/sharedblock_fuzzer:fuzztest",
443    "fuzztest/transdb_fuzzer:fuzztest",
444    "fuzztest/transaction_fuzzer:fuzztest",
445    "fuzztest/big_integer_test_ut2fuzz:fuzztest",
446    "fuzztest/cache_result_set_test_ut2fuzz:fuzztest",
447    "fuzztest/cloud_data_test_ut2fuzz:fuzztest",
448    "fuzztest/connection_test_ut2fuzz:fuzztest",
449    "fuzztest/rdb_attach_test_ut2fuzz:fuzztest",
450    "fuzztest/rdb_bigint_test_ut2fuzz:fuzztest",
451    "fuzztest/rdb_callback_icu_test_ut2fuzz:fuzztest",
452    "fuzztest/rdb_corrupt_test_ut2fuzz:fuzztest",
453    "fuzztest/rdb_delete_test_ut2fuzz:fuzztest",
454    "fuzztest/rdb_distributed_test_ut2fuzz:fuzztest",
455    "fuzztest/rdb_double_write_test_ut2fuzz:fuzztest",
456    "fuzztest/rdbsqlutils_fuzzer:fuzztest",
457    "fuzztest/storeconfig_fuzzer:fuzztest",
458    "fuzztest/absrdbpredicates_fuzzer:fuzztest",
459    "fuzztest/abssharedresultset_fuzzer:fuzztest",
460    "fuzztest/abspredicates_fuzzer:fuzztest",
461    "fuzztest/absresultset_fuzzer:fuzztest",
462    "fuzztest/rdbpredicates_fuzzer:fuzztest",
463    "fuzztest/valueobject_fuzzer:fuzztest",
464    "fuzztest/valuesbucket_fuzzer:fuzztest",
465    "fuzztest/valuesbuckets_fuzzer:fuzztest",
466  ]
467}
468
469###############################################################################
470
471group("distributedtest") {
472  testonly = true
473  deps = []
474  deps += [ "distributedtest/rdb_store_impl_test:distributedtest" ]
475}
476###############################################################################
477