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("SystemCmdChannelStubFuzzTest") {
2322736c2fSopenharmony_ci  module_out_path = "imf/imf"
2422736c2fSopenharmony_ci
2522736c2fSopenharmony_ci  fuzz_config_file =
2622736c2fSopenharmony_ci      "${inputmethod_path}/test/fuzztest/systemcmdchannelstub_fuzzer"
2722736c2fSopenharmony_ci
2822736c2fSopenharmony_ci  include_dirs = [
2922736c2fSopenharmony_ci    "${inputmethod_path}/common/include",
3022736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/include",
3122736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/include",
3222736c2fSopenharmony_ci  ]
3322736c2fSopenharmony_ci
3422736c2fSopenharmony_ci  cflags = [
3522736c2fSopenharmony_ci    "-g",
3622736c2fSopenharmony_ci    "-O0",
3722736c2fSopenharmony_ci    "-Wno-unused-variable",
3822736c2fSopenharmony_ci    "-fno-omit-frame-pointer",
3922736c2fSopenharmony_ci  ]
4022736c2fSopenharmony_ci
4122736c2fSopenharmony_ci  sources = [ "systemcmdchannelstub_fuzzer.cpp" ]
4222736c2fSopenharmony_ci
4322736c2fSopenharmony_ci  deps = [
4422736c2fSopenharmony_ci    "${inputmethod_path}/interfaces/inner_api/inputmethod_ability:inputmethod_ability_static",
4522736c2fSopenharmony_ci    "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:inputmethod_client_static",
4622736c2fSopenharmony_ci  ]
4722736c2fSopenharmony_ci
4822736c2fSopenharmony_ci  external_deps = [
4922736c2fSopenharmony_ci    "c_utils:utils",
5022736c2fSopenharmony_ci    "hilog:libhilog",
5122736c2fSopenharmony_ci    "input:libmmi-client",
5222736c2fSopenharmony_ci    "ipc:ipc_single",
5322736c2fSopenharmony_ci  ]
5422736c2fSopenharmony_ci}
5522736c2fSopenharmony_ci
5622736c2fSopenharmony_ci###############################################################################
5722736c2fSopenharmony_cigroup("fuzztest") {
5822736c2fSopenharmony_ci  testonly = true
5922736c2fSopenharmony_ci  deps = []
6022736c2fSopenharmony_ci  deps += [
6122736c2fSopenharmony_ci    # deps file
6222736c2fSopenharmony_ci    ":SystemCmdChannelStubFuzzTest",
6322736c2fSopenharmony_ci  ]
6422736c2fSopenharmony_ci}
6522736c2fSopenharmony_ci###############################################################################
66