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/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/include",
25    "${relational_store_innerapi_path}/rdb/include",
26    "${relational_store_native_path}/dfx/include",
27    "${relational_store_native_path}/rdb/src",
28    "${relational_store_innerapi_path}/appdatafwk/include",
29    "//commonlibrary/c_utils/base/include",
30    "${common_tool_path}/",
31    "${kvstore_interface_path}",
32  ]
33
34  defines = [ "RELATIONAL_STORE" ]
35
36  if (relational_store_rdb_support_icu) {
37    include_dirs += [
38      "//third_party/icu/icu4c/source/i18n",
39      "//third_party/icu/icu4c/source/common",
40    ]
41  }
42}
43
44ohos_unittest("NativeRdbMultiThreadTest") {
45  module_out_path = module_output_path
46
47  sources = [
48    "unittest/common.cpp",
49    "unittest/multiThread/rdb_connection_test.cpp",
50  ]
51
52  configs = [ ":module_private_config" ]
53
54  external_deps = [
55    "ability_base:zuri",
56    "ability_runtime:dataobs_manager",
57    "c_utils:utils",
58    "hilog:libhilog",
59    "huks:libhukssdk",
60    "ipc:ipc_core",
61    "kv_store:distributeddb",
62  ]
63
64  deps = [
65    "${relational_store_innerapi_path}/rdb:native_rdb",
66    "//third_party/googletest:gtest_main",
67    "//third_party/icu/icu4c:shared_icui18n",
68    "//third_party/icu/icu4c:shared_icuuc",
69    "//third_party/sqlite:sqlite",
70  ]
71}
72
73ohos_unittest("NativeRdbTest") {
74  module_out_path = module_output_path
75
76  sources = [
77    "unittest/big_integer_test.cpp",
78    "unittest/cache_result_set_test.cpp",
79    "unittest/common.cpp",
80    "unittest/connection_test.cpp",
81    "unittest/raw_data_parser_test.cpp",
82    "unittest/rd_utils_test.cpp",
83    "unittest/rdb_attach_test.cpp",
84    "unittest/rdb_bigint_test.cpp",
85    "unittest/rdb_delete_test.cpp",
86    "unittest/rdb_distributed_test.cpp",
87    "unittest/rdb_double_write_test.cpp",
88    "unittest/rdb_encrypt_decrypt_test.cpp",
89    "unittest/rdb_execute_rd_test.cpp",
90    "unittest/rdb_execute_test.cpp",
91    "unittest/rdb_get_store_test.cpp",
92    "unittest/rdb_helper_test.cpp",
93    "unittest/rdb_insert_test.cpp",
94    "unittest/rdb_open_callback_test.cpp",
95    "unittest/rdb_predicates_join_b_test.cpp",
96    "unittest/rdb_predicates_join_test.cpp",
97    "unittest/rdb_predicates_test.cpp",
98    "unittest/rdb_read_only_test.cpp",
99    "unittest/rdb_security_manager_test.cpp",
100    "unittest/rdb_sql_utils_test.cpp",
101    "unittest/rdb_sqlite_shared_result_set_test.cpp",
102    "unittest/rdb_step_result_get_row_test.cpp",
103    "unittest/rdb_step_result_set_test.cpp",
104    "unittest/rdb_store_backup_restore_test.cpp",
105    "unittest/rdb_store_concurrent_test.cpp",
106    "unittest/rdb_store_config_test.cpp",
107    "unittest/rdb_store_impl_test.cpp",
108    "unittest/rdb_store_interface_test.cpp",
109    "unittest/rdb_store_rekey_test.cpp",
110    "unittest/rdb_store_subscribe_test.cpp",
111    "unittest/rdb_trans_db_test.cpp",
112    "unittest/rdb_transaction_test.cpp",
113    "unittest/rdb_update_test.cpp",
114    "unittest/rdb_upgrade_test.cpp",
115    "unittest/rdb_utils_test.cpp",
116    "unittest/rdb_value_bucket_test.cpp",
117    "unittest/rdb_wal_limit_test.cpp",
118    "unittest/sqlite_utils_test.cpp",
119    "unittest/transaction_test.cpp",
120    "unittest/value_object_test.cpp",
121  ]
122
123  sources += [
124    "../../../frameworks/native/rdb/mock/src/rdb_fault_hiview_reporter.cpp",
125    "../../../frameworks/native/rdb/src/base_transaction.cpp",
126    "../../../frameworks/native/rdb/src/connection.cpp",
127    "../../../frameworks/native/rdb/src/connection_pool.cpp",
128    "../../../frameworks/native/rdb/src/grd_api_manager.cpp",
129    "../../../frameworks/native/rdb/src/raw_data_parser.cpp",
130    "../../../frameworks/native/rdb/src/rd_connection.cpp",
131    "../../../frameworks/native/rdb/src/rd_statement.cpp",
132    "../../../frameworks/native/rdb/src/rd_utils.cpp",
133    "../../../frameworks/native/rdb/src/rdb_local_db_observer.cpp",
134    "../../../frameworks/native/rdb/src/rdb_manager_impl.cpp",
135    "../../../frameworks/native/rdb/src/rdb_notifier_stub.cpp",
136    "../../../frameworks/native/rdb/src/rdb_security_manager.cpp",
137    "../../../frameworks/native/rdb/src/rdb_service_proxy.cpp",
138    "../../../frameworks/native/rdb/src/rdb_sql_statistic.cpp",
139    "../../../frameworks/native/rdb/src/result_set_proxy.cpp",
140    "../../../frameworks/native/rdb/src/share_block.cpp",
141    "../../../frameworks/native/rdb/src/shared_block_serializer_info.cpp",
142    "../../../frameworks/native/rdb/src/sqlite_connection.cpp",
143    "../../../frameworks/native/rdb/src/sqlite_global_config.cpp",
144    "../../../frameworks/native/rdb/src/sqlite_shared_result_set.cpp",
145    "../../../frameworks/native/rdb/src/sqlite_sql_builder.cpp",
146    "../../../frameworks/native/rdb/src/sqlite_statement.cpp",
147    "../../../frameworks/native/rdb/src/sqlite_utils.cpp",
148    "../../../frameworks/native/rdb/src/step_result_set.cpp",
149    "../../../frameworks/native/rdb/src/string_utils.cpp",
150    "../../../frameworks/native/rdb/src/task_executor.cpp",
151    "../../../frameworks/native/rdb/src/trans_db.cpp",
152  ]
153
154  configs = [ ":module_private_config" ]
155
156  external_deps = [
157    "ability_base:zuri",
158    "ability_runtime:dataobs_manager",
159    "c_utils:utils",
160    "hilog:libhilog",
161    "huks:libhukssdk",
162    "ipc:ipc_core",
163    "kv_store:distributeddb",
164    "samgr:samgr_proxy",
165  ]
166
167  deps = [
168    "${relational_store_innerapi_path}/rdb:native_rdb",
169    "//third_party/googletest:gtest_main",
170    "//third_party/icu/icu4c:shared_icui18n",
171    "//third_party/icu/icu4c:shared_icuuc",
172    "//third_party/sqlite:sqlite",
173  ]
174}
175
176###############################################################################
177group("unittest") {
178  testonly = true
179
180  deps = [
181    ":NativeRdbMultiThreadTest",
182    ":NativeRdbTest",
183  ]
184}
185
186###############################################################################
187
188group("fuzztest") {
189  testonly = true
190  deps = []
191  deps += [
192    "fuzztest/rdbimpl_fuzzer:fuzztest",
193    "fuzztest/rdbrdutils_fuzzer:fuzztest",
194    "fuzztest/rdbstore_fuzzer:fuzztest",
195    "fuzztest/rdstatement_fuzzer:fuzztest",
196  ]
197}
198
199###############################################################################
200
201group("distributedtest") {
202  testonly = true
203  deps = []
204  deps += [ "distributedtest/rdb_store_impl_test:distributedtest" ]
205}
206###############################################################################
207