1c29fa5a6Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
2c29fa5a6Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3c29fa5a6Sopenharmony_ci# you may not use this file except in compliance with the License.
4c29fa5a6Sopenharmony_ci# You may obtain a copy of the License at
5c29fa5a6Sopenharmony_ci#
6c29fa5a6Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7c29fa5a6Sopenharmony_ci#
8c29fa5a6Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9c29fa5a6Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10c29fa5a6Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11c29fa5a6Sopenharmony_ci# See the License for the specific language governing permissions and
12c29fa5a6Sopenharmony_ci# limitations under the License.
13c29fa5a6Sopenharmony_ci
14c29fa5a6Sopenharmony_ci#####################hydra-fuzz###################
15c29fa5a6Sopenharmony_ciimport("//build/config/features.gni")
16c29fa5a6Sopenharmony_ciimport("//build/test.gni")
17c29fa5a6Sopenharmony_ciimport("../../../multimodalinput_mini.gni")
18c29fa5a6Sopenharmony_cimodule_output_path = "input/input"
19c29fa5a6Sopenharmony_ci
20c29fa5a6Sopenharmony_ci##############################fuzztest##########################################
21c29fa5a6Sopenharmony_ciohos_fuzztest("InjectEventFuzzTest") {
22c29fa5a6Sopenharmony_ci  module_out_path = module_output_path
23c29fa5a6Sopenharmony_ci  fuzz_config_file = "${mmi_path}/test/fuzztest/injectevent_fuzzer"
24c29fa5a6Sopenharmony_ci  include_dirs = [
25c29fa5a6Sopenharmony_ci    "${mmi_path}/service/app_state_manager/include",
26c29fa5a6Sopenharmony_ci    "${mmi_path}/service/device_config/include",
27c29fa5a6Sopenharmony_ci    "${mmi_path}/service/device_manager/include",
28c29fa5a6Sopenharmony_ci    "${mmi_path}/service/device_scalability/include",
29c29fa5a6Sopenharmony_ci    "${mmi_path}/service/device_state_manager/include",
30c29fa5a6Sopenharmony_ci    "${mmi_path}/service/delegate_task/include",
31c29fa5a6Sopenharmony_ci    "${mmi_path}/service/display_state_manager/include",
32c29fa5a6Sopenharmony_ci    "${mmi_path}/service/event_dispatch/include",
33c29fa5a6Sopenharmony_ci    "${mmi_path}/service/key_event_normalize/include",
34c29fa5a6Sopenharmony_ci    "${mmi_path}/service/event_handler/include",
35c29fa5a6Sopenharmony_ci    "${mmi_path}/service/event_dump/include",
36c29fa5a6Sopenharmony_ci    "${mmi_path}/service/fingersense_wrapper/include",
37c29fa5a6Sopenharmony_ci    "${mmi_path}/service/gesturesense_wrapper/include",
38c29fa5a6Sopenharmony_ci    "${mmi_path}/service/monitor/include",
39c29fa5a6Sopenharmony_ci    "${mmi_path}/service/interceptor/include",
40c29fa5a6Sopenharmony_ci    "${mmi_path}/service/dfx/include",
41c29fa5a6Sopenharmony_ci    "${mmi_path}/service/libinput_adapter/include",
42c29fa5a6Sopenharmony_ci    "${mmi_path}/service/message_handle/include",
43c29fa5a6Sopenharmony_ci    "${mmi_path}/service/module_loader/include",
44c29fa5a6Sopenharmony_ci    "${mmi_path}/service/window_manager/include",
45c29fa5a6Sopenharmony_ci    "${mmi_path}/service/touch_event_normalize/include",
46c29fa5a6Sopenharmony_ci    "${mmi_path}/service/key_command/include",
47c29fa5a6Sopenharmony_ci    "${mmi_path}/service/subscriber/include",
48c29fa5a6Sopenharmony_ci    "${mmi_path}/service/timer_manager/include",
49c29fa5a6Sopenharmony_ci    "${mmi_path}/service/permission_helper/include",
50c29fa5a6Sopenharmony_ci    "${mmi_path}/service/connect_manager/include",
51c29fa5a6Sopenharmony_ci    "${mmi_path}/service/device_state_manager/include",
52c29fa5a6Sopenharmony_ci    "${mmi_path}/service/filter/include",
53c29fa5a6Sopenharmony_ci    "${mmi_path}/service/module_loader/include",
54c29fa5a6Sopenharmony_ci    "${mmi_path}/service/nap_process/include",
55c29fa5a6Sopenharmony_ci    "${mmi_path}/service/event_resample/include",
56c29fa5a6Sopenharmony_ci    "${mmi_path}/interfaces/native/innerkits/proxy/include",
57c29fa5a6Sopenharmony_ci    "${mmi_path}/interfaces/native/innerkits/event/include",
58c29fa5a6Sopenharmony_ci    "${mmi_path}/service/mouse_event_normalize/include",
59c29fa5a6Sopenharmony_ci    "${mmi_path}/interfaces/native/innerkits/common/include",
60c29fa5a6Sopenharmony_ci    "${mmi_path}/util/common/include",
61c29fa5a6Sopenharmony_ci    "${mmi_path}/util/socket/include",
62c29fa5a6Sopenharmony_ci    "${mmi_path}/util/network/include",
63c29fa5a6Sopenharmony_ci    "${mmi_path}/frameworks/proxy/event_handler/include",
64c29fa5a6Sopenharmony_ci  ]
65c29fa5a6Sopenharmony_ci  cflags = [
66c29fa5a6Sopenharmony_ci    "-g",
67c29fa5a6Sopenharmony_ci    "-O0",
68c29fa5a6Sopenharmony_ci    "-Wno-unused-variable",
69c29fa5a6Sopenharmony_ci    "-fno-omit-frame-pointer",
70c29fa5a6Sopenharmony_ci  ]
71c29fa5a6Sopenharmony_ci  sources = [ "injectevent_fuzzer.cpp" ]
72c29fa5a6Sopenharmony_ci  deps = [
73c29fa5a6Sopenharmony_ci    "${mmi_path}/frameworks/proxy:libmmi-client",
74c29fa5a6Sopenharmony_ci    "${mmi_path}/service:libmmi-server",
75c29fa5a6Sopenharmony_ci    "${mmi_path}/util:libmmi-util",
76c29fa5a6Sopenharmony_ci  ]
77c29fa5a6Sopenharmony_ci
78c29fa5a6Sopenharmony_ci  external_deps = [
79c29fa5a6Sopenharmony_ci    "ability_base:want",
80c29fa5a6Sopenharmony_ci    "ability_base:zuri",
81c29fa5a6Sopenharmony_ci    "ability_runtime:ability_manager",
82c29fa5a6Sopenharmony_ci    "ability_runtime:abilitykit_native",
83c29fa5a6Sopenharmony_ci    "ability_runtime:app_manager",
84c29fa5a6Sopenharmony_ci    "ability_runtime:dataobs_manager",
85c29fa5a6Sopenharmony_ci    "access_token:libaccesstoken_sdk",
86c29fa5a6Sopenharmony_ci    "access_token:libtokenid_sdk",
87c29fa5a6Sopenharmony_ci    "cJSON:cjson",
88c29fa5a6Sopenharmony_ci    "c_utils:utilsbase",
89c29fa5a6Sopenharmony_ci    "common_event_service:cesfwk_innerkits",
90c29fa5a6Sopenharmony_ci    "config_policy:configpolicy_util",
91c29fa5a6Sopenharmony_ci    "data_share:datashare_consumer",
92c29fa5a6Sopenharmony_ci    "eventhandler:libeventhandler",
93c29fa5a6Sopenharmony_ci    "faultloggerd:libbacktrace_local",
94c29fa5a6Sopenharmony_ci    "graphic_2d:2d_graphics",
95c29fa5a6Sopenharmony_ci    "graphic_2d:librender_service_client",
96c29fa5a6Sopenharmony_ci    "hicollie:libhicollie",
97c29fa5a6Sopenharmony_ci    "hilog:libhilog",
98c29fa5a6Sopenharmony_ci    "hilog:libhilog_base",
99c29fa5a6Sopenharmony_ci    "hisysevent:libhisysevent",
100c29fa5a6Sopenharmony_ci    "image_framework:image_native",
101c29fa5a6Sopenharmony_ci    "init:libbeget_proxy",
102c29fa5a6Sopenharmony_ci    "init:libbegetutil",
103c29fa5a6Sopenharmony_ci    "ipc:ipc_single",
104c29fa5a6Sopenharmony_ci    "libinput:libinput-third-mmi",
105c29fa5a6Sopenharmony_ci    "napi:ace_napi",
106c29fa5a6Sopenharmony_ci    "preferences:native_preferences",
107c29fa5a6Sopenharmony_ci    "safwk:system_ability_fwk",
108c29fa5a6Sopenharmony_ci    "samgr:samgr_proxy",
109c29fa5a6Sopenharmony_ci    "window_manager:libwm",
110c29fa5a6Sopenharmony_ci    "window_manager:libwsutils",
111c29fa5a6Sopenharmony_ci  ]
112c29fa5a6Sopenharmony_ci
113c29fa5a6Sopenharmony_ci  if (hitrace_enabled) {
114c29fa5a6Sopenharmony_ci    external_deps += [ "hitrace:hitrace_meter" ]
115c29fa5a6Sopenharmony_ci  }
116c29fa5a6Sopenharmony_ci
117c29fa5a6Sopenharmony_ci  if (security_component_enable) {
118c29fa5a6Sopenharmony_ci    external_deps += [ "security_component_manager:libsecurity_component_sdk" ]
119c29fa5a6Sopenharmony_ci  }
120c29fa5a6Sopenharmony_ci
121c29fa5a6Sopenharmony_ci  if (resource_schedule_service_enabled) {
122c29fa5a6Sopenharmony_ci    external_deps += [ "resource_schedule_service:ressched_client" ]
123c29fa5a6Sopenharmony_ci  }
124c29fa5a6Sopenharmony_ci
125c29fa5a6Sopenharmony_ci  if (enable_player_framework) {
126c29fa5a6Sopenharmony_ci    external_deps += [ "player_framework:media_client" ]
127c29fa5a6Sopenharmony_ci  }
128c29fa5a6Sopenharmony_ci}
129c29fa5a6Sopenharmony_ci
130c29fa5a6Sopenharmony_ci###############################################################################
131c29fa5a6Sopenharmony_cigroup("fuzztest") {
132c29fa5a6Sopenharmony_ci  testonly = true
133c29fa5a6Sopenharmony_ci  deps = []
134c29fa5a6Sopenharmony_ci  deps += [
135c29fa5a6Sopenharmony_ci    # deps file
136c29fa5a6Sopenharmony_ci    ":InjectEventFuzzTest",
137c29fa5a6Sopenharmony_ci  ]
138c29fa5a6Sopenharmony_ci}
139c29fa5a6Sopenharmony_ci###############################################################################
140