12d43be4eSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
22d43be4eSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
32d43be4eSopenharmony_ci# you may not use this file except in compliance with the License.
42d43be4eSopenharmony_ci# You may obtain a copy of the License at
52d43be4eSopenharmony_ci#
62d43be4eSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
72d43be4eSopenharmony_ci#
82d43be4eSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
92d43be4eSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
102d43be4eSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
112d43be4eSopenharmony_ci# See the License for the specific language governing permissions and
122d43be4eSopenharmony_ci# limitations under the License.
132d43be4eSopenharmony_ci
142d43be4eSopenharmony_ci#####################hydra-fuzz###################
152d43be4eSopenharmony_ciimport("//build/config/features.gni")
162d43be4eSopenharmony_ciimport("//build/ohos.gni")
172d43be4eSopenharmony_ciimport("//build/test.gni")
182d43be4eSopenharmony_ci
192d43be4eSopenharmony_ci##############################fuzztest##########################################
202d43be4eSopenharmony_ciohos_fuzztest("UpdateDisconnectMachineFuzzTest") {
212d43be4eSopenharmony_ci  module_output_path = "cellular_data/cellular_data"
222d43be4eSopenharmony_ci  module_out_path = module_output_path
232d43be4eSopenharmony_ci  SOURCE_DIR = "../../.."
242d43be4eSopenharmony_ci  fuzz_config_file = "$SOURCE_DIR/test/fuzztest/updatedisconnectmachine_fuzzer"
252d43be4eSopenharmony_ci  include_dirs = [
262d43be4eSopenharmony_ci    "$SOURCE_DIR/services/include",
272d43be4eSopenharmony_ci    "$SOURCE_DIR/services/include/apn_manager",
282d43be4eSopenharmony_ci    "$SOURCE_DIR/services/include/common",
292d43be4eSopenharmony_ci    "$SOURCE_DIR/services/include/state_machine",
302d43be4eSopenharmony_ci    "$SOURCE_DIR/services/include/utils",
312d43be4eSopenharmony_ci    "$SOURCE_DIR/test/fuzztest/common_fuzzer",
322d43be4eSopenharmony_ci  ]
332d43be4eSopenharmony_ci
342d43be4eSopenharmony_ci  deps = [
352d43be4eSopenharmony_ci    "$SOURCE_DIR:tel_cellular_data",
362d43be4eSopenharmony_ci    "$SOURCE_DIR/frameworks/native:tel_cellular_data_api",
372d43be4eSopenharmony_ci  ]
382d43be4eSopenharmony_ci
392d43be4eSopenharmony_ci  external_deps = [
402d43be4eSopenharmony_ci    "ability_runtime:ability_manager",
412d43be4eSopenharmony_ci    "ability_runtime:data_ability_helper",
422d43be4eSopenharmony_ci    "access_token:libaccesstoken_sdk",
432d43be4eSopenharmony_ci    "access_token:libnativetoken",
442d43be4eSopenharmony_ci    "access_token:libtoken_setproc",
452d43be4eSopenharmony_ci    "bundle_framework:appexecfwk_core",
462d43be4eSopenharmony_ci    "c_utils:utils",
472d43be4eSopenharmony_ci    "common_event_service:cesfwk_innerkits",
482d43be4eSopenharmony_ci    "core_service:libtel_common",
492d43be4eSopenharmony_ci    "core_service:tel_core_service_api",
502d43be4eSopenharmony_ci    "eventhandler:libeventhandler",
512d43be4eSopenharmony_ci    "hilog:libhilog",
522d43be4eSopenharmony_ci    "init:libbegetutil",
532d43be4eSopenharmony_ci    "netmanager_base:net_conn_manager_if",
542d43be4eSopenharmony_ci    "netmanager_base:net_policy_manager_if",
552d43be4eSopenharmony_ci    "netmanager_base:net_stats_manager_if",
562d43be4eSopenharmony_ci    "relational_store:native_rdb",
572d43be4eSopenharmony_ci    "telephony_data:tel_telephony_data",
582d43be4eSopenharmony_ci  ]
592d43be4eSopenharmony_ci
602d43be4eSopenharmony_ci  defines = [
612d43be4eSopenharmony_ci    "TELEPHONY_LOG_TAG = \"CellularDataFuzzTest\"",
622d43be4eSopenharmony_ci    "LOG_DOMAIN = 0xD000F00",
632d43be4eSopenharmony_ci  ]
642d43be4eSopenharmony_ci
652d43be4eSopenharmony_ci  cflags = [
662d43be4eSopenharmony_ci    "-g",
672d43be4eSopenharmony_ci    "-O0",
682d43be4eSopenharmony_ci    "-Wno-unused-variable",
692d43be4eSopenharmony_ci    "-fno-omit-frame-pointer",
702d43be4eSopenharmony_ci    "-flto",
712d43be4eSopenharmony_ci    "-fsanitize=cfi",
722d43be4eSopenharmony_ci    "-fsanitize-cfi-cross-dso",
732d43be4eSopenharmony_ci    "-fvisibility=hidden",
742d43be4eSopenharmony_ci  ]
752d43be4eSopenharmony_ci
762d43be4eSopenharmony_ci  ldflags = [
772d43be4eSopenharmony_ci    "-flto",
782d43be4eSopenharmony_ci    "-fsanitize=cfi",
792d43be4eSopenharmony_ci    "-fsanitize-cfi-cross-dso",
802d43be4eSopenharmony_ci  ]
812d43be4eSopenharmony_ci
822d43be4eSopenharmony_ci  sources = [
832d43be4eSopenharmony_ci    "$SOURCE_DIR/test/fuzztest/common_fuzzer/adddatatoken_fuzzer.cpp",
842d43be4eSopenharmony_ci    "$SOURCE_DIR/test/fuzztest/common_fuzzer/statemachine_fuzzer.cpp",
852d43be4eSopenharmony_ci    "updatedisconnectmachine_fuzzer.cpp",
862d43be4eSopenharmony_ci  ]
872d43be4eSopenharmony_ci}
882d43be4eSopenharmony_ci
892d43be4eSopenharmony_ci###############################################################################
902d43be4eSopenharmony_cigroup("fuzztest") {
912d43be4eSopenharmony_ci  testonly = true
922d43be4eSopenharmony_ci  deps = []
932d43be4eSopenharmony_ci  deps += [
942d43be4eSopenharmony_ci    # deps file
952d43be4eSopenharmony_ci    ":UpdateDisconnectMachineFuzzTest",
962d43be4eSopenharmony_ci  ]
972d43be4eSopenharmony_ci}
982d43be4eSopenharmony_ci###############################################################################
99