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