1# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//build/test.gni") 16import("../../multimodalinput_mini.gni") 17 18defines = input_default_defines 19 20module_output_path = "multimodalinput/mmi_unit_out" 21 22config("libmmi_client_config") { 23 visibility = [ ":*" ] 24 25 include_dirs = [ 26 "${mmi_path}/interfaces/native/innerkits/common/include", 27 "${mmi_path}/util/common/include", 28 "${mmi_path}/interfaces/native/innerkits/event/include", 29 "event_handler/include", 30 "events/include", 31 "module_loader/include", 32 ] 33} 34 35config("libmmi_public_client_config") { 36 include_dirs = [ 37 "${mmi_path}/interfaces/native/innerkits/common/include", 38 "${mmi_path}/interfaces/native/innerkits/event/include", 39 "${mmi_path}/interfaces/native/innerkits/proxy/include", 40 "${mmi_path}/util/common/include", 41 ] 42} 43 44config("libmmi_test_util") { 45 include_dirs = [ 46 "${mmi_path}/frameworks/proxy/event_handler/include", 47 "${mmi_path}/frameworks/proxy/module_loader/include", 48 "${mmi_path}/interfaces/native/innerkits/common/include", 49 "${mmi_path}/interfaces/native/innerkits/proxy/include", 50 "${mmi_path}/test/unittest/common/include", 51 "${mmi_path}/util/network/include", 52 "${mmi_path}/util/socket/include", 53 "//third_party/googletest/googletest/include", 54 ] 55} 56 57ohos_source_set("libmmi-common") { 58 sources = libmmi_common_sources 59 public_configs = [ ":libmmi_client_config" ] 60 visibility = [ "${mmi_path}/*" ] 61 stack_protector_ret = true 62 external_deps = [ 63 "c_utils:utils", 64 "ffrt:libffrt", 65 "hilog:libhilog", 66 ] 67 68 part_name = "input" 69 subsystem_name = "multimodalinput" 70} 71 72ohos_shared_library("libmmi-client") { 73 sources = libmmi_client_sources 74 version_script = "${mmi_path}/interfaces/native/innerkits/libmmi-client-map" 75 innerapi_tags = [ "platformsdk" ] 76 stack_protector_ret = true 77 78 if (input_feature_interceptor) { 79 sources += [ "event_handler/src/input_interceptor_manager.cpp" ] 80 } 81 82 if (input_feature_monitor) { 83 sources += [ "event_handler/src/input_monitor_manager.cpp" ] 84 } 85 86 if (input_feature_keyboard) { 87 sources += [ "event_handler/src/key_event_input_subscribe_manager.cpp" ] 88 } 89 90 if (input_feature_switch) { 91 sources += [ "event_handler/src/switch_event_input_subscribe_manager.cpp" ] 92 } 93 94 configs = [ 95 "${mmi_path}:coverage_flags", 96 ":libmmi_client_config", 97 "${mmi_path}/util:libmmi_util_public_config", 98 "${mmi_path}/service/filter:mmi_event_filter_config", 99 "${mmi_path}/service/connect_manager:mmi_connect_manager_config", 100 ] 101 102 public_configs = [ ":libmmi_public_client_config" ] 103 104 deps = [ 105 ":libmmi-common", 106 "${mmi_path}/service/connect_manager:mmi_connect_manager_proxy", 107 "${mmi_path}/service/filter:mmi_event_filter_service", 108 "${mmi_path}/util:libmmi-util", 109 ] 110 111 part_name = "input" 112 subsystem_name = "multimodalinput" 113 external_deps = [ 114 "c_utils:utils", 115 "eventhandler:libeventhandler", 116 "ffrt:libffrt", 117 "hicollie:libhicollie", 118 "hilog:libhilog", 119 "hitrace:hitrace_meter", 120 "init:libbegetutil", 121 "ipc:ipc_single", 122 ] 123} 124 125ohos_unittest("ut-mmi-proxy-out") { 126 module_out_path = module_output_path 127 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 128 129 sources = [ "module_loader/test/mmi_client_test.cpp" ] 130 131 configs = [ 132 "${mmi_path}:coverage_flags", 133 ":libmmi_test_util", 134 ] 135 136 deps = [ 137 "${mmi_path}/frameworks/proxy:libmmi-client", 138 "${mmi_path}/util:libmmi-util", 139 "//third_party/googletest:gmock_main", 140 "//third_party/googletest:gtest_main", 141 ] 142 external_deps = [ 143 "c_utils:utils", 144 "eventhandler:libeventhandler", 145 "hilog:libhilog", 146 "ipc:ipc_single", 147 ] 148} 149 150ohos_unittest("KeyEventTest") { 151 module_out_path = module_output_path 152 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 153 154 sources = [ 155 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 156 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 157 "events/test/key_event_test.cpp", 158 ] 159 160 configs = [ 161 "${mmi_path}:coverage_flags", 162 ":libmmi_test_util", 163 ] 164 165 deps = [ 166 "${mmi_path}/frameworks/proxy:libmmi-client", 167 "${mmi_path}/util:libmmi-util", 168 "//third_party/googletest:gmock_main", 169 "//third_party/googletest:gtest_main", 170 ] 171 external_deps = [ 172 "ability_runtime:abilitykit_native", 173 "access_token:libaccesstoken_sdk", 174 "access_token:libnativetoken", 175 "access_token:libtoken_setproc", 176 "c_utils:utils", 177 "hilog:libhilog", 178 "ipc:ipc_single", 179 "window_manager:libwm", 180 "window_manager:libwsutils", 181 ] 182} 183 184ohos_unittest("InputManagerTest") { 185 module_out_path = module_output_path 186 include_dirs = [ 187 "${mmi_path}/frameworks/proxy/events/test", 188 "${mmi_path}/frameworks/proxy/event_handler/include", 189 "$root_out_dir/diff_libinput_mmi/export_include", 190 "${mmi_path}/service/filter/include", 191 ] 192 193 sources = [ 194 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 195 "${mmi_path}/test/unittest/common/src/system_info.cpp", 196 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 197 "events/src/input_manager_util.cpp", 198 "events/test/input_manager_simulate_test.cpp", 199 "events/test/input_manager_test.cpp", 200 ] 201 202 configs = [ 203 "${mmi_path}:coverage_flags", 204 ":libmmi_test_util", 205 ] 206 207 deps = [ 208 "${mmi_path}/frameworks/proxy:libmmi-client", 209 "${mmi_path}/util:libmmi-util", 210 "//third_party/googletest:gmock_main", 211 "//third_party/googletest:gtest_main", 212 ] 213 external_deps = [ 214 "ability_runtime:abilitykit_native", 215 "access_token:libaccesstoken_sdk", 216 "access_token:libnativetoken", 217 "access_token:libtoken_setproc", 218 "c_utils:utils", 219 "eventhandler:libeventhandler", 220 "hilog:libhilog", 221 "image_framework:image_native", 222 "ipc:ipc_single", 223 "window_manager:libwm", 224 "window_manager:libwsutils", 225 ] 226} 227 228ohos_unittest("InputManagerManualTest") { 229 module_out_path = module_output_path 230 231 sources = [ "events/test/input_manager_manual_test.cpp" ] 232 233 configs = [ 234 "${mmi_path}:coverage_flags", 235 ":libmmi_test_util", 236 ] 237 238 deps = [ 239 "${mmi_path}/frameworks/proxy:libmmi-client", 240 "${mmi_path}/util:libmmi-util", 241 "//third_party/googletest:gmock_main", 242 "//third_party/googletest:gtest_main", 243 ] 244 external_deps = [ 245 "access_token:libaccesstoken_sdk", 246 "access_token:libnativetoken", 247 "access_token:libtoken_setproc", 248 "c_utils:utils", 249 "hilog:libhilog", 250 "ipc:ipc_single", 251 ] 252} 253 254ohos_unittest("InputManagerFilterManualTest") { 255 module_out_path = module_output_path 256 257 sources = [ "events/test/input_manager_filter_manual_test.cpp" ] 258 259 configs = [ 260 "${mmi_path}:coverage_flags", 261 ":libmmi_test_util", 262 ] 263 264 deps = [ 265 "${mmi_path}/frameworks/proxy:libmmi-client", 266 "${mmi_path}/util:libmmi-util", 267 "//third_party/googletest:gmock_main", 268 "//third_party/googletest:gtest_main", 269 ] 270 external_deps = [ 271 "access_token:libaccesstoken_sdk", 272 "access_token:libnativetoken", 273 "access_token:libtoken_setproc", 274 "c_utils:utils", 275 "hilog:libhilog", 276 "ipc:ipc_single", 277 ] 278} 279 280ohos_unittest("PointerEventTest") { 281 module_out_path = module_output_path 282 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 283 284 sources = [ 285 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 286 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 287 "events/test/pointer_event_test.cpp", 288 ] 289 290 configs = [ 291 "${mmi_path}:coverage_flags", 292 ":libmmi_test_util", 293 ] 294 295 deps = [ 296 "${mmi_path}/frameworks/proxy:libmmi-client", 297 "${mmi_path}/util:libmmi-util", 298 "//third_party/googletest:gmock_main", 299 "//third_party/googletest:gtest_main", 300 ] 301 external_deps = [ 302 "ability_runtime:abilitykit_native", 303 "access_token:libaccesstoken_sdk", 304 "access_token:libnativetoken", 305 "access_token:libtoken_setproc", 306 "c_utils:utils", 307 "eventhandler:libeventhandler", 308 "hilog:libhilog", 309 "ipc:ipc_single", 310 "window_manager:libwm", 311 "window_manager:libwsutils", 312 ] 313} 314