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
14#####################hydra-fuzz###################
15import("//build/config/features.gni")
16import("//build/test.gni")
17import("//foundation/multimedia/player_framework/config.gni")
18module_output_path = "$MODULE_OUTPUT_PATH/avmetadata"
19
20##############################fuzztest##########################################
21ohos_fuzztest("AVmetadataStubFuzzTest") {
22  module_out_path = module_output_path
23  fuzz_config_file =
24      "../../../../test/fuzztest/avmetadata_fuzztest/avmetadatastub_fuzzer"
25
26  include_dirs = [
27    "../../../../services/include",
28    "../../../../services/services/avmetadatahelper/ipc",
29    "../../../../services/services/sa_media/ipc",
30    "../../../../services/services/sa_media/server",
31    "../../../../test/fuzztest/avmetadata_fuzztest",
32    "../../../../test/fuzztest/common",
33  ]
34  cflags = [
35    "-std=c++17",
36    "-fno-rtti",
37    "-fno-exceptions",
38    "-Wall",
39    "-fno-common",
40    "-fstack-protector-strong",
41    "-Wshadow",
42    "-FPIC",
43    "-FS",
44    "-O2",
45    "-D_FORTIFY_SOURCE=2",
46    "-fvisibility=hidden",
47    "-Wformat=2",
48    "-Wfloat-equal",
49    "-Wdate-time",
50    "-Werror",
51    "-Wextra",
52    "-Wimplicit-fallthrough",
53    "-Wsign-compare",
54    "-Wunused-parameter",
55    "-DBINDER_IPC_32BIT",
56  ]
57  if (player_framework_support_metadata) {
58    sources = [
59      "../../../../test/fuzztest/common/stub_common.cpp",
60      "avmetadata_service_proxy_fuzzer.cpp",
61      "avmetadatastub_fuzzer.cpp",
62    ]
63  }
64  deps = [ "../../../../services/services:media_service" ]
65  external_deps = [
66    "c_utils:utils",
67    "hilog:libhilog",
68    "image_framework:image_native",
69    "ipc:ipc_single",
70    "player_framework:media_client",
71    "safwk:system_ability_fwk",
72    "samgr:samgr_proxy",
73  ]
74}
75