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("DevAuthCbFuzzTest") {
25  module_out_path = module_output_path
26  fuzz_config_file = "${deviceauth_path}/test/fuzztest/devauthcb_fuzzer"
27  include_dirs = inc_path + hals_inc_path
28  include_dirs += [
29    ".",
30    "${frameworks_path}/inc/standard",
31    "${dev_frameworks_path}/inc/hiview_adapter",
32    "${dev_frameworks_path}/inc/permission_adapter",
33  ]
34  sources = [ "devauthcb_fuzzer.cpp" ]
35  sources += deviceauth_ipc_files
36  sources += permission_adapter_files
37  sources += [ "${frameworks_path}/src/ipc_service.c" ]
38  defines = [ "HILOG_ENABLE" ]
39  defines += [ "DEV_AUTH_HIVIEW_ENABLE" ]
40  defines += [ "DEV_AUTH_FUZZ_TEST" ]
41  cflags = [
42    "-g",
43    "-O0",
44    "-Wno-unused-variable",
45    "-fno-omit-frame-pointer",
46    "-DHILOG_ENABLE",
47  ]
48  cflags += build_flags
49  if (target_cpu == "arm") {
50    cflags += [ "-DBINDER_IPC_32BIT" ]
51  }
52  deps = [
53    "${deps_adapter_path}:${hal_module_test_name}",
54    "${services_path}:deviceauth",
55  ]
56  external_deps = [
57    "access_token:libaccesstoken_sdk",
58    "access_token:libnativetoken",
59    "access_token:libtoken_setproc",
60    "cJSON:cjson",
61    "c_utils:utils",
62    "hilog:libhilog",
63    "hisysevent:libhisysevent",
64    "hitrace:hitrace_meter",
65    "init:libbegetutil",
66    "ipc:ipc_core",
67    "samgr:samgr_proxy",
68  ]
69}
70
71###############################################################################
72group("fuzztest") {
73  testonly = true
74  deps = []
75  deps += [
76    # deps file
77    ":DevAuthCbFuzzTest",
78  ]
79}
80###############################################################################
81