1# Copyright (c) 2023 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("//base/security/device_auth/deps_adapter/deviceauth_hals.gni")
15import("//base/security/device_auth/services/deviceauth.gni")
16
17#####################hydra-fuzz###################
18import("//build/config/features.gni")
19import("//build/ohos.gni")
20import("//build/test.gni")
21module_output_path = "device_auth/device_auth"
22
23##############################fuzztest##########################################
24ohos_fuzztest("IsoFuzzTest") {
25  module_out_path = module_output_path
26  fuzz_config_file = "${deviceauth_path}/test/fuzztest/protocol/iso_fuzzer"
27  include_dirs = inc_path + hals_inc_path
28  include_dirs += [
29    ".",
30    "${inner_api_path}",
31    "${frameworks_path}/inc/standard",
32    "${dev_frameworks_path}/inc/hiview_adapter",
33    "${dev_frameworks_path}/inc/permission_adapter",
34    "${dev_frameworks_path}/inc",
35    "${session_manager_path}/inc/session/v2/auth_sub_session/protocol_lib",
36  ]
37  sources = [ "iso_fuzzer.cpp" ]
38  sources += deviceauth_ipc_files
39  sources += permission_adapter_files
40  sources += [ "${frameworks_path}/src/ipc_service.c" ]
41  sources += iso_protocol_files
42  sources += hiview_adapter_files
43
44  defines = [ "ENABLE_ISO" ]
45  defines += [ "HILOG_ENABLE" ]
46  defines += [ "DEV_AUTH_HIVIEW_ENABLE" ]
47  defines += [ "DEV_AUTH_FUZZ_TEST" ]
48  cflags = [
49    "-g",
50    "-O0",
51    "-Wno-unused-variable",
52    "-fno-omit-frame-pointer",
53    "-DHILOG_ENABLE",
54  ]
55  cflags += build_flags
56  if (target_cpu == "arm") {
57    cflags += [ "-DBINDER_IPC_32BIT" ]
58  }
59  deps = [ "${deps_adapter_path}:${hal_module_test_name}" ]
60  external_deps = [
61    "access_token:libaccesstoken_sdk",
62    "access_token:libnativetoken",
63    "access_token:libtoken_setproc",
64    "cJSON:cjson",
65    "c_utils:utils",
66    "hilog:libhilog",
67    "hisysevent:libhisysevent",
68    "hitrace:hitrace_meter",
69    "huks:libhukssdk",
70    "init:libbegetutil",
71    "ipc:ipc_core",
72    "samgr:samgr_proxy",
73  ]
74}
75
76###############################################################################
77group("fuzztest") {
78  testonly = true
79  deps = []
80  deps += [
81    # deps file
82    ":IsoFuzzTest",
83  ]
84}
85###############################################################################
86