122736c2fSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
222736c2fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
322736c2fSopenharmony_ci# you may not use this file except in compliance with the License.
422736c2fSopenharmony_ci# You may obtain a copy of the License at
522736c2fSopenharmony_ci#
622736c2fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
722736c2fSopenharmony_ci#
822736c2fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
922736c2fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1022736c2fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1122736c2fSopenharmony_ci# See the License for the specific language governing permissions and
1222736c2fSopenharmony_ci# limitations under the License.
1322736c2fSopenharmony_ci
1422736c2fSopenharmony_ciimport("//base/inputmethod/imf/inputmethod.gni")
1522736c2fSopenharmony_ci
1622736c2fSopenharmony_ci#####################hydra-fuzz###################
1722736c2fSopenharmony_ciimport("//build/config/features.gni")
1822736c2fSopenharmony_ciimport("//build/ohos.gni")
1922736c2fSopenharmony_ciimport("//build/test.gni")
2022736c2fSopenharmony_ci
2122736c2fSopenharmony_ci##############################fuzztest##########################################
2222736c2fSopenharmony_ciohos_fuzztest("ImeSystemChannelFuzzTest") {
2322736c2fSopenharmony_ci  module_out_path = "imf/imf"
2422736c2fSopenharmony_ci
2522736c2fSopenharmony_ci  fuzz_config_file = "${inputmethod_path}/test/fuzztest/imesystemchannel_fuzzer"
2622736c2fSopenharmony_ci
2722736c2fSopenharmony_ci  include_dirs = [ "${inputmethod_path}/services/include" ]
2822736c2fSopenharmony_ci
2922736c2fSopenharmony_ci  cflags = [
3022736c2fSopenharmony_ci    "-g",
3122736c2fSopenharmony_ci    "-O0",
3222736c2fSopenharmony_ci    "-Wno-unused-variable",
3322736c2fSopenharmony_ci    "-fno-omit-frame-pointer",
3422736c2fSopenharmony_ci  ]
3522736c2fSopenharmony_ci
3622736c2fSopenharmony_ci  sources = [ "imesystemchannel_fuzzer.cpp" ]
3722736c2fSopenharmony_ci
3822736c2fSopenharmony_ci  deps = [
3922736c2fSopenharmony_ci    "${inputmethod_path}/interfaces/inner_api/inputmethod_ability:inputmethod_ability_static",
4022736c2fSopenharmony_ci    "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:inputmethod_client_static",
4122736c2fSopenharmony_ci    "${inputmethod_path}/services:inputmethod_service",
4222736c2fSopenharmony_ci  ]
4322736c2fSopenharmony_ci
4422736c2fSopenharmony_ci  external_deps = [
4522736c2fSopenharmony_ci    "ability_runtime:ability_manager",
4622736c2fSopenharmony_ci    "c_utils:utils",
4722736c2fSopenharmony_ci    "hilog:libhilog",
4822736c2fSopenharmony_ci    "input:libmmi-client",
4922736c2fSopenharmony_ci    "ipc:ipc_single",
5022736c2fSopenharmony_ci  ]
5122736c2fSopenharmony_ci}
5222736c2fSopenharmony_ci
5322736c2fSopenharmony_ci###############################################################################
5422736c2fSopenharmony_cigroup("fuzztest") {
5522736c2fSopenharmony_ci  testonly = true
5622736c2fSopenharmony_ci  deps = []
5722736c2fSopenharmony_ci  deps += [
5822736c2fSopenharmony_ci    # deps file
5922736c2fSopenharmony_ci    ":ImeSystemChannelFuzzTest",
6022736c2fSopenharmony_ci  ]
6122736c2fSopenharmony_ci}
6222736c2fSopenharmony_ci###############################################################################
63