12d4d9a4dSopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
22d4d9a4dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
32d4d9a4dSopenharmony_ci# you may not use this file except in compliance with the License.
42d4d9a4dSopenharmony_ci# You may obtain a copy of the License at
52d4d9a4dSopenharmony_ci#
62d4d9a4dSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
72d4d9a4dSopenharmony_ci#
82d4d9a4dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
92d4d9a4dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
102d4d9a4dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
112d4d9a4dSopenharmony_ci# See the License for the specific language governing permissions and
122d4d9a4dSopenharmony_ci# limitations under the License.
132d4d9a4dSopenharmony_ci
142d4d9a4dSopenharmony_ci#####################hydra-fuzz###################
152d4d9a4dSopenharmony_ciimport("//build/config/features.gni")
162d4d9a4dSopenharmony_ciimport("//build/test.gni")
172d4d9a4dSopenharmony_ciimport(
182d4d9a4dSopenharmony_ci    "//foundation/distributedhardware/distributed_input/distributedinput.gni")
192d4d9a4dSopenharmony_ci
202d4d9a4dSopenharmony_ci##############################fuzztest##########################################
212d4d9a4dSopenharmony_ciohos_fuzztest("DistributedInputClientFuzzTest") {
222d4d9a4dSopenharmony_ci  module_out_path = fuzz_test_path
232d4d9a4dSopenharmony_ci
242d4d9a4dSopenharmony_ci  fuzz_config_file =
252d4d9a4dSopenharmony_ci      "${distributedinput_path}/test/fuzztest/distributedinputclient_fuzzer"
262d4d9a4dSopenharmony_ci
272d4d9a4dSopenharmony_ci  include_dirs = [
282d4d9a4dSopenharmony_ci    "${distributedinput_path}/interfaces/inner_kits/include",
292d4d9a4dSopenharmony_ci    "${distributedinput_path}/interfaces/ipc/include",
302d4d9a4dSopenharmony_ci    "${distributedinput_path}/services/source/sourcemanager/include",
312d4d9a4dSopenharmony_ci    "${distributedinput_path}/services/sink/sinkmanager/include",
322d4d9a4dSopenharmony_ci    "${distributedinput_path}/frameworks/include",
332d4d9a4dSopenharmony_ci    "${distributedinput_path}/sourcehandler/include",
342d4d9a4dSopenharmony_ci    "${distributedinput_path}/sinkhandler/include",
352d4d9a4dSopenharmony_ci    "${distributedinput_path}/inputdevicehandler/include",
362d4d9a4dSopenharmony_ci    "${distributedinput_path}/services/state/include",
372d4d9a4dSopenharmony_ci    "${service_common}/include",
382d4d9a4dSopenharmony_ci    "${common_path}/include",
392d4d9a4dSopenharmony_ci    "${services_source_path}/inputinject/include",
402d4d9a4dSopenharmony_ci    "${utils_path}/include",
412d4d9a4dSopenharmony_ci  ]
422d4d9a4dSopenharmony_ci
432d4d9a4dSopenharmony_ci  cflags = [
442d4d9a4dSopenharmony_ci    "-g",
452d4d9a4dSopenharmony_ci    "-O0",
462d4d9a4dSopenharmony_ci    "-Wno-unused-variable",
472d4d9a4dSopenharmony_ci    "-fno-omit-frame-pointer",
482d4d9a4dSopenharmony_ci  ]
492d4d9a4dSopenharmony_ci
502d4d9a4dSopenharmony_ci  sources = [ "distributed_input_client_fuzzer.cpp" ]
512d4d9a4dSopenharmony_ci
522d4d9a4dSopenharmony_ci  deps = [ "${distributedinput_path}/sourcehandler:libdinput_source_handler" ]
532d4d9a4dSopenharmony_ci
542d4d9a4dSopenharmony_ci  external_deps = [
552d4d9a4dSopenharmony_ci    "c_utils:utils",
562d4d9a4dSopenharmony_ci    "distributed_hardware_fwk:distributed_av_sender",
572d4d9a4dSopenharmony_ci    "distributed_hardware_fwk:distributedhardwareutils",
582d4d9a4dSopenharmony_ci    "distributed_hardware_fwk:libdhfwk_sdk",
592d4d9a4dSopenharmony_ci    "dsoftbus:softbus_client",
602d4d9a4dSopenharmony_ci    "eventhandler:libeventhandler",
612d4d9a4dSopenharmony_ci    "hilog:libhilog",
622d4d9a4dSopenharmony_ci    "ipc:ipc_core",
632d4d9a4dSopenharmony_ci    "json:nlohmann_json_static",
642d4d9a4dSopenharmony_ci    "libevdev:libevdev",
652d4d9a4dSopenharmony_ci    "safwk:system_ability_fwk",
662d4d9a4dSopenharmony_ci  ]
672d4d9a4dSopenharmony_ci
682d4d9a4dSopenharmony_ci  defines = [
692d4d9a4dSopenharmony_ci    "HI_LOG_ENABLE",
702d4d9a4dSopenharmony_ci    "DH_LOG_TAG=\"DistributedInputClientFuzzTest\"",
712d4d9a4dSopenharmony_ci    "LOG_DOMAIN=0xD004120",
722d4d9a4dSopenharmony_ci  ]
732d4d9a4dSopenharmony_ci}
742d4d9a4dSopenharmony_ci
752d4d9a4dSopenharmony_ci###############################################################################
762d4d9a4dSopenharmony_cigroup("fuzztest") {
772d4d9a4dSopenharmony_ci  testonly = true
782d4d9a4dSopenharmony_ci
792d4d9a4dSopenharmony_ci  deps = [ ":DistributedInputClientFuzzTest" ]
802d4d9a4dSopenharmony_ci}
812d4d9a4dSopenharmony_ci###############################################################################
82