1# Copyright (c) 2024 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.
13import("../../../device_status.gni")
14
15###############################hydra_fuzz#################################
16import("//build/config/features.gni")
17import("//build/test.gni")
18module_output_path = "${device_status_fuzz_output_path}"
19deps_ex = [
20  "ability_runtime:app_manager",
21  "device_manager:devicemanagersdk",
22  "access_token:libaccesstoken_sdk",
23  "cJSON:cjson",
24  "c_utils:utils",
25  "graphic_2d:libcomposer",
26  "graphic_2d:window_animation",
27  "graphic_2d:librender_service_client",
28  "hisysevent:libhisysevent",
29  "hitrace:hitrace_meter",
30  "hilog:libhilog",
31  "input:libmmi-client",
32  "image_framework:image_native",
33  "window_manager:libwm",
34  "window_manager:libdm",
35]
36
37###############################fuzztest#################################
38ohos_fuzztest("IpcSocketFuzzTest") {
39  module_out_path = module_output_path
40  fuzz_config_file = "${device_status_root_path}/test/fuzztest/ipcsocket_fuzzer"
41  include_dirs = [
42    "${device_status_root_path}/libs/interface",
43    "${device_status_service_path}/interaction/drag/include",
44    "${device_status_service_path}/communication/service/include",
45    "${device_status_utils_path}/include",
46  ]
47
48  cflags = [
49    "-g",
50    "-O0",
51    "-fno-omit-frame-pointer",
52    "-Dprivate=public",
53    "-Dprotected=public",
54  ]
55
56  sources = [ "ipcsocket_fuzzer.cpp" ]
57
58  deps = [
59    "${device_status_interfaces_path}/innerkits:devicestatus_client",
60    "${device_status_root_path}/intention/ipc/socket:intention_socket_connection",
61    "${device_status_root_path}/intention/ipc/tunnel:intention_tunnel_client",
62    "${device_status_root_path}/services:devicestatus_static_service",
63    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
64    "${device_status_utils_path}:devicestatus_util",
65  ]
66
67  external_deps = deps_ex
68}
69
70group("fuzztest") {
71  testonly = true
72  deps = []
73  deps += [ ":IpcSocketFuzzTest" ]
74}
75