122736c2fSopenharmony_ci# Copyright (c) 2022 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("InputMethodControllerFuzzTest") {
2322736c2fSopenharmony_ci  module_out_path = "imf/imf"
2422736c2fSopenharmony_ci
2522736c2fSopenharmony_ci  fuzz_config_file =
2622736c2fSopenharmony_ci      "//base/inputmethod/imf/test/fuzztest/inputmethodcontroller_fuzzer"
2722736c2fSopenharmony_ci
2822736c2fSopenharmony_ci  include_dirs = [
2922736c2fSopenharmony_ci    "${inputmethod_path}/services/include",
3022736c2fSopenharmony_ci    "${inputmethod_path}/test/common",
3122736c2fSopenharmony_ci  ]
3222736c2fSopenharmony_ci
3322736c2fSopenharmony_ci  cflags = [
3422736c2fSopenharmony_ci    "-g",
3522736c2fSopenharmony_ci    "-O0",
3622736c2fSopenharmony_ci    "-Wno-unused-variable",
3722736c2fSopenharmony_ci    "-fno-omit-frame-pointer",
3822736c2fSopenharmony_ci  ]
3922736c2fSopenharmony_ci
4022736c2fSopenharmony_ci  sources = [ "inputmethodcontroller_fuzzer.cpp" ]
4122736c2fSopenharmony_ci
4222736c2fSopenharmony_ci  deps = [
4322736c2fSopenharmony_ci    "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:inputmethod_client",
4422736c2fSopenharmony_ci    "${inputmethod_path}/services:inputmethod_service",
4522736c2fSopenharmony_ci    "${inputmethod_path}/test/common:inputmethod_test_common",
4622736c2fSopenharmony_ci  ]
4722736c2fSopenharmony_ci
4822736c2fSopenharmony_ci  external_deps = [
4922736c2fSopenharmony_ci    "ability_runtime:ability_manager",
5022736c2fSopenharmony_ci    "c_utils:utils",
5122736c2fSopenharmony_ci    "eventhandler:libeventhandler",
5222736c2fSopenharmony_ci    "hilog:libhilog",
5322736c2fSopenharmony_ci    "input:libmmi-client",
5422736c2fSopenharmony_ci    "ipc:ipc_single",
5522736c2fSopenharmony_ci  ]
5622736c2fSopenharmony_ci}
5722736c2fSopenharmony_ci
5822736c2fSopenharmony_ci###############################################################################
5922736c2fSopenharmony_cigroup("fuzztest") {
6022736c2fSopenharmony_ci  testonly = true
6122736c2fSopenharmony_ci  deps = []
6222736c2fSopenharmony_ci  deps += [ ":InputMethodControllerFuzzTest" ]
6322736c2fSopenharmony_ci}
6422736c2fSopenharmony_ci###############################################################################
65