1# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved.
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
14#####################hydra-fuzz###################
15import("//build/test.gni")
16import("../../../../../base/config.gni")
17
18##############################fuzztest##########################################
19ohos_fuzztest("HiperfStartPluginFuzzTest") {
20  module_out_path = hiprofiler_fuzz_output_path
21  fuzz_config_file = "${OHOS_PROFILER_DIR}/device/plugins/hiperf_plugin/test/fuzztest/hiperfstartplugin_fuzzer"
22  cflags = [
23    "-g",
24    "-O0",
25    "-Wno-unused-variable",
26    "-fno-omit-frame-pointer",
27    "-DFUZZ_TEST",
28  ]
29  sources = [
30    "${OHOS_PROFILER_DIR}/device/plugins/hiperf_plugin/src/hiperf_module.cpp",
31    "${OHOS_PROFILER_DIR}/device/services/profiler_service/src/trace_file_helper.cpp",
32    "${OHOS_PROFILER_DIR}/device/services/profiler_service/src/trace_file_writer.cpp",
33    "hiperfstartplugin_fuzzer.cpp",
34  ]
35  deps = [
36    "${OHOS_PROFILER_DIR}/device/base:hiprofiler_base",
37    "${OHOS_PROFILER_DIR}/protos/services:common_types_lite_proto",
38    "${OHOS_PROFILER_DIR}/protos/types/plugins/hiperf_data:hiperf_data_cpp",
39  ]
40
41  include_dirs = [
42    "${OHOS_PROFILER_DIR}/device/plugins/hiperf_plugin/include",
43    "${OHOS_PROFILER_DIR}/device/plugins/api/include",
44    "${OHOS_PROFILER_DIR}/interfaces/kits",
45    "${OHOS_PROFILER_DIR}/device/base/include",
46    "${OHOS_PROFILER_DIR}/device/services/profiler_service/src",
47    "//commonlibrary/c_utils/base/include",
48  ]
49  defines = [ "LITE_PROTO" ]
50  external_deps = [
51    "c_utils:utils",
52    "hilog:libhilog_base",
53    "openssl:libcrypto_shared",
54    "protobuf:protobuf_lite",
55  ]
56}
57
58###############################################################################
59group("fuzztest") {
60  testonly = true
61  deps = []
62  deps += [
63    # deps file
64    ":HiperfStartPluginFuzzTest",
65  ]
66}
67###############################################################################
68