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_ci#####################hydra-fuzz###################
155c735df2Sopenharmony_ciimport("//base/location/config.gni")
165c735df2Sopenharmony_ciimport("//build/config/features.gni")
175c735df2Sopenharmony_ciimport("//build/test.gni")
185c735df2Sopenharmony_ci
195c735df2Sopenharmony_ci##############################fuzztest##########################################
205c735df2Sopenharmony_ciohos_fuzztest("GnssStatusCallbackHostFuzzTest") {
215c735df2Sopenharmony_ci  module_out_path = "location/location"
225c735df2Sopenharmony_ci  fuzz_config_file =
235c735df2Sopenharmony_ci      "$LOCATION_ROOT_DIR/test/fuzztest/locator/gnssstatuscallbackhost_fuzzer"
245c735df2Sopenharmony_ci  include_dirs = [
255c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/js/napi/include",
265c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/interfaces/inner_api/include",
275c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_locator/locator/include",
285c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_locator/callback/include",
295c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_network/network/include",
305c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_passive/passive/include",
315c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_geocode/geocode/include",
325c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_gnss/gnss/include",
335c735df2Sopenharmony_ci  ]
345c735df2Sopenharmony_ci  cflags = [
355c735df2Sopenharmony_ci    "-g",
365c735df2Sopenharmony_ci    "-O0",
375c735df2Sopenharmony_ci    "-Wno-unused-variable",
385c735df2Sopenharmony_ci    "-fno-omit-frame-pointer",
395c735df2Sopenharmony_ci  ]
405c735df2Sopenharmony_ci  sources = [ "gnssstatuscallbackhost_fuzzer.cpp" ]
415c735df2Sopenharmony_ci  deps = [
425c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/js/napi:geolocation_static",
435c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/location_common/common:lbsservice_common_static",
445c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/native/geofence_sdk:geofence_sdk_static",
455c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/frameworks/native/locator_sdk:locator_sdk_static",
465c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_geocode/geocode:lbsservice_geocode_static",
475c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_gnss/gnss:lbsservice_gnss_static",
485c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_locator/locator:lbsservice_locator_static",
495c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_network/network:lbsservice_network_static",
505c735df2Sopenharmony_ci    "$LOCATION_ROOT_DIR/services/location_passive/passive:lbsservice_passive_static",
515c735df2Sopenharmony_ci    "//third_party/libuv:uv",
525c735df2Sopenharmony_ci  ]
535c735df2Sopenharmony_ci  external_deps = [
545c735df2Sopenharmony_ci    "access_token:libaccesstoken_sdk",
555c735df2Sopenharmony_ci    "access_token:libnativetoken",
565c735df2Sopenharmony_ci    "access_token:libtoken_setproc",
575c735df2Sopenharmony_ci    "c_utils:utils",
585c735df2Sopenharmony_ci    "common_event_service:cesfwk_innerkits",
595c735df2Sopenharmony_ci    "core_service:tel_core_service_api",
605c735df2Sopenharmony_ci    "drivers_interface_location_agnss:liblocation_agnss_proxy_2.0",
615c735df2Sopenharmony_ci    "drivers_interface_location_gnss:liblocation_gnss_proxy_2.0",
625c735df2Sopenharmony_ci    "eventhandler:libeventhandler",
635c735df2Sopenharmony_ci    "ffrt:libffrt",
645c735df2Sopenharmony_ci    "hilog:libhilog",
655c735df2Sopenharmony_ci    "hisysevent:libhisysevent",
665c735df2Sopenharmony_ci    "init:libbegetutil",
675c735df2Sopenharmony_ci    "ipc:ipc_core",
685c735df2Sopenharmony_ci    "napi:ace_napi",
695c735df2Sopenharmony_ci    "safwk:system_ability_fwk",
705c735df2Sopenharmony_ci    "samgr:samgr_proxy",
715c735df2Sopenharmony_ci  ]
725c735df2Sopenharmony_ci
735c735df2Sopenharmony_ci  defines = []
745c735df2Sopenharmony_ci  if (location_feature_with_geocode) {
755c735df2Sopenharmony_ci    defines += [ "FEATURE_GEOCODE_SUPPORT" ]
765c735df2Sopenharmony_ci  }
775c735df2Sopenharmony_ci
785c735df2Sopenharmony_ci  if (location_feature_with_gnss) {
795c735df2Sopenharmony_ci    defines += [ "FEATURE_GNSS_SUPPORT" ]
805c735df2Sopenharmony_ci  }
815c735df2Sopenharmony_ci
825c735df2Sopenharmony_ci  if (location_feature_with_network) {
835c735df2Sopenharmony_ci    defines += [ "FEATURE_NETWORK_SUPPORT" ]
845c735df2Sopenharmony_ci  }
855c735df2Sopenharmony_ci
865c735df2Sopenharmony_ci  if (location_feature_with_passive) {
875c735df2Sopenharmony_ci    defines += [ "FEATURE_PASSIVE_SUPPORT" ]
885c735df2Sopenharmony_ci  }
895c735df2Sopenharmony_ci}
905c735df2Sopenharmony_ci
915c735df2Sopenharmony_ci###############################################################################
925c735df2Sopenharmony_cigroup("fuzztest") {
935c735df2Sopenharmony_ci  testonly = true
945c735df2Sopenharmony_ci  deps = []
955c735df2Sopenharmony_ci  deps += [
965c735df2Sopenharmony_ci    # deps file
975c735df2Sopenharmony_ci    ":GnssStatusCallbackHostFuzzTest",
985c735df2Sopenharmony_ci  ]
995c735df2Sopenharmony_ci}
1005c735df2Sopenharmony_ci###############################################################################
101