15c735df2Sopenharmony_ci# Copyright (C) 2022 Huawei Device Co., Ltd.
25c735df2Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
35c735df2Sopenharmony_ci# you may not use this file except in compliance with the License.
45c735df2Sopenharmony_ci# You may obtain a copy of the License at
55c735df2Sopenharmony_ci#
65c735df2Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
75c735df2Sopenharmony_ci#
85c735df2Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
95c735df2Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
105c735df2Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
115c735df2Sopenharmony_ci# See the License for the specific language governing permissions and
125c735df2Sopenharmony_ci# limitations under the License.
135c735df2Sopenharmony_ci
145c735df2Sopenharmony_ciimport("//base/location/config.gni")
155c735df2Sopenharmony_ciimport("//build/test.gni")
165c735df2Sopenharmony_ci
175c735df2Sopenharmony_cimodule_output_path = "location/service"
185c735df2Sopenharmony_ci
195c735df2Sopenharmony_ciohos_unittest("LocatorManagerAbilityTest") {
205c735df2Sopenharmony_ci  sanitize = {
215c735df2Sopenharmony_ci    cfi = true
225c735df2Sopenharmony_ci    cfi_cross_dso = true
235c735df2Sopenharmony_ci    debug = false
245c735df2Sopenharmony_ci    blocklist = "./../../cfi_blocklist.txt"
255c735df2Sopenharmony_ci  }
265c735df2Sopenharmony_ci  branch_protector_ret = "pac_ret"
275c735df2Sopenharmony_ci  module_out_path = module_output_path
285c735df2Sopenharmony_ci  sources = [
295c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/test/location_manager/source/locator_ability_test.cpp",
305c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/test/location_manager/source/locator_skeleton_test.cpp",
315c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/test/location_manager/source/request_manager_test.cpp",
325c735df2Sopenharmony_ci  ]
335c735df2Sopenharmony_ci
345c735df2Sopenharmony_ci  include_dirs = [
355c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/interfaces/inner_api/include",
365c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/test/location_manager/include",
375c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/test/location_manager/mock/include",
385c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/test/mock/include",
395c735df2Sopenharmony_ci    "$SUBSYSTEM_DIR/location_locator/callback/include",
405c735df2Sopenharmony_ci    "$SUBSYSTEM_DIR/location_locator/locator/include",
415c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/js/napi/include",
425c735df2Sopenharmony_ci  ]
435c735df2Sopenharmony_ci
445c735df2Sopenharmony_ci  deps = [
455c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/js/napi:geolocation_static",
465c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/location_common/common:lbsservice_common_static",
475c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/native/geofence_sdk:geofence_sdk_static",
485c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/native/locator_agent:locator_agent",
495c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/native/locator_sdk:locator_sdk_static",
505c735df2Sopenharmony_ci    "$SUBSYSTEM_DIR/location_locator/locator:lbsservice_locator_static",
515c735df2Sopenharmony_ci    "//third_party/googletest:gmock_main",
525c735df2Sopenharmony_ci    "//third_party/googletest:gtest_main",
535c735df2Sopenharmony_ci  ]
545c735df2Sopenharmony_ci
555c735df2Sopenharmony_ci  external_deps = [
565c735df2Sopenharmony_ci    "ability_base:want",
575c735df2Sopenharmony_ci    "ability_runtime:app_manager",
585c735df2Sopenharmony_ci    "access_token:libaccesstoken_sdk",
595c735df2Sopenharmony_ci    "access_token:libnativetoken",
605c735df2Sopenharmony_ci    "access_token:libtoken_setproc",
615c735df2Sopenharmony_ci    "bundle_framework:appexecfwk_core",
625c735df2Sopenharmony_ci    "c_utils:utils",
635c735df2Sopenharmony_ci    "common_event_service:cesfwk_innerkits",
645c735df2Sopenharmony_ci    "distributed_notification_service:ans_innerkits",
655c735df2Sopenharmony_ci    "eventhandler:libeventhandler",
665c735df2Sopenharmony_ci    "ffrt:libffrt",
675c735df2Sopenharmony_ci    "hilog:libhilog",
685c735df2Sopenharmony_ci    "hisysevent:libhisysevent",
695c735df2Sopenharmony_ci    "init:libbegetutil",
705c735df2Sopenharmony_ci    "ipc:ipc_core",
715c735df2Sopenharmony_ci    "napi:ace_napi",
725c735df2Sopenharmony_ci    "safwk:system_ability_fwk",
735c735df2Sopenharmony_ci    "samgr:samgr_proxy",
745c735df2Sopenharmony_ci  ]
755c735df2Sopenharmony_ci
765c735df2Sopenharmony_ci  defines = []
775c735df2Sopenharmony_ci  if (communication_wifi_enable) {
785c735df2Sopenharmony_ci    external_deps += [ "wifi:wifi_sdk" ]
795c735df2Sopenharmony_ci    defines += [ "WIFI_ENABLE" ]
805c735df2Sopenharmony_ci  }
815c735df2Sopenharmony_ci
825c735df2Sopenharmony_ci  if (communication_bluetooth_enable) {
835c735df2Sopenharmony_ci    external_deps += [ "bluetooth:btframework" ]
845c735df2Sopenharmony_ci    defines += [ "BLUETOOTH_ENABLE" ]
855c735df2Sopenharmony_ci  }
865c735df2Sopenharmony_ci
875c735df2Sopenharmony_ci  if (location_feature_with_geocode) {
885c735df2Sopenharmony_ci    defines += [ "FEATURE_GEOCODE_SUPPORT" ]
895c735df2Sopenharmony_ci  }
905c735df2Sopenharmony_ci
915c735df2Sopenharmony_ci  if (location_feature_with_gnss) {
925c735df2Sopenharmony_ci    defines += [ "FEATURE_GNSS_SUPPORT" ]
935c735df2Sopenharmony_ci  }
945c735df2Sopenharmony_ci
955c735df2Sopenharmony_ci  if (hdf_drivers_interface_location_geofence_enable) {
965c735df2Sopenharmony_ci    external_deps +=
975c735df2Sopenharmony_ci        [ "drivers_interface_location_geofence:liblocation_geofence_proxy_2.0" ]
985c735df2Sopenharmony_ci    defines += [ "HDF_DRIVERS_INTERFACE_GEOFENCE_ENABLE" ]
995c735df2Sopenharmony_ci  }
1005c735df2Sopenharmony_ci
1015c735df2Sopenharmony_ci  if (location_feature_with_network) {
1025c735df2Sopenharmony_ci    defines += [ "FEATURE_NETWORK_SUPPORT" ]
1035c735df2Sopenharmony_ci  }
1045c735df2Sopenharmony_ci
1055c735df2Sopenharmony_ci  if (location_feature_with_passive) {
1065c735df2Sopenharmony_ci    defines += [ "FEATURE_PASSIVE_SUPPORT" ]
1075c735df2Sopenharmony_ci  }
1085c735df2Sopenharmony_ci
1095c735df2Sopenharmony_ci  if (is_emulator) {
1105c735df2Sopenharmony_ci    defines += [ "EMULATOR_ENABLED" ]
1115c735df2Sopenharmony_ci  }
1125c735df2Sopenharmony_ci  if (notification_distributed_notification_service_enable) {
1135c735df2Sopenharmony_ci    defines += [ "NOTIFICATION_ENABLE" ]
1145c735df2Sopenharmony_ci  }
1155c735df2Sopenharmony_ci  module_out_path = module_output_path
1165c735df2Sopenharmony_ci}
1175c735df2Sopenharmony_ci
1185c735df2Sopenharmony_cigroup("unittest") {
1195c735df2Sopenharmony_ci  testonly = true
1205c735df2Sopenharmony_ci  deps = []
1215c735df2Sopenharmony_ci
1225c735df2Sopenharmony_ci  deps += [ ":LocatorManagerAbilityTest" ]
1235c735df2Sopenharmony_ci}
124