1// Copyright 2020 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_team: "trendy_team_automotive", 17 default_applicable_licenses: ["Android-Apache-2.0"], 18} 19 20cc_library_static { 21 name: "libcomputepipeprotosfuzz", 22 proto: { 23 export_proto_headers: true, 24 }, 25 shared_libs: ["libprotobuf-cpp-full"], 26 cflags: [ 27 "-Wall", 28 "-Werror", 29 "-Wno-unused-parameter", 30 ], 31 srcs: [ 32 "Fuzz.proto", 33 ], 34} 35 36cc_defaults { 37 name: "libcomputepipefuzz-defaults", 38 cflags: [ 39 "-Wall", 40 "-Werror", 41 "-Wno-unused-parameter", 42 "-Wno-unused-variable", 43 ], 44 static_libs: [ 45 "computepipe_runner_component", 46 "computepipe_runner_engine", 47 "computepipe_stream_manager", 48 "computepipe_input_manager", 49 "libcomputepipeprotos", 50 "libgtest", 51 "libgmock", 52 "mock_stream_engine_interface", 53 ], 54 shared_libs: [ 55 "libbase", 56 "liblog", 57 "libnativewindow", 58 "libmediandk", 59 "libprotobuf-cpp-lite", 60 ], 61 header_libs: [ 62 "computepipe_runner_includes", 63 "graph_test_headers", 64 ], 65 include_dirs: [ 66 "packages/services/Car/cpp/computepipe", 67 "packages/services/Car/cpp/computepipe/runner/stream_manager", 68 "packages/services/Car/cpp/computepipe/runner/input_manager", 69 "packages/services/Car/cpp/computepipe/runner/input_manager/include", 70 "packages/services/Car/cpp/computepipe/runner/engine", 71 "packages/services/Car/cpp/computepipe/runner/debug_display_manager/include", 72 "packages/services/Car/cpp/computepipe/runner/client_interface/include/", 73 "packages/services/Car/cpp/computepipe/runner/graph/include/", 74 ], 75 76 fuzz_config: { 77 cc: [ 78 "aae-engprod-fuzz@google.com", 79 "kathan@google.com", 80 ], 81 // Android > Automotive > Embedded > Test Bugs 82 componentid: 162915, 83 // aae-fuzz-bugs 84 hotlists: ["1986127"], 85 libfuzzer_options: [ 86 "timeout=120", 87 ], 88 }, 89} 90 91cc_fuzz { 92 name: "computepipe_pixel_mem_handle_fuzzer", 93 defaults: ["libcomputepipefuzz-defaults"], 94 srcs: [ 95 "PixelMemHandleFuzzer.cpp", 96 ], 97 shared_libs: [ 98 "libprotobuf-cpp-full", 99 ], 100 static_libs: [ 101 "libcomputepipeprotosfuzz", 102 "libprotobuf-mutator", 103 ], 104} 105 106cc_fuzz { 107 name: "computepipe_pixel_stream_manager_fuzzer", 108 defaults: ["libcomputepipefuzz-defaults"], 109 srcs: [ 110 "PixelStreamManagerFuzzer.cpp", 111 ], 112 shared_libs: [ 113 "libprotobuf-cpp-full", 114 ], 115 static_libs: [ 116 "libcomputepipeprotosfuzz", 117 "libprotobuf-mutator", 118 ], 119} 120 121cc_fuzz { 122 name: "computepipe_semantic_manager_fuzzer", 123 defaults: ["libcomputepipefuzz-defaults"], 124 srcs: [ 125 "SemanticManagerFuzzer.cpp", 126 ], 127} 128 129cc_fuzz { 130 name: "video_input_manager_fuzzer", 131 defaults: ["libcomputepipefuzz-defaults"], 132 cppflags: [ 133 "-fexceptions", 134 ], 135 srcs: [ 136 "VideoInputManagerFuzzer.cpp", 137 ], 138 data: [ 139 "corpus/video_input_manager/*", 140 ], 141} 142 143cc_fuzz { 144 name: "local_prebuild_graph_fuzzer", 145 defaults: ["libcomputepipefuzz-defaults"], 146 cppflags: [ 147 "-fexceptions", 148 ], 149 static_libs: [ 150 "computepipe_prebuilt_graph", 151 ], 152 shared_libs: [ 153 "libstubgraphimpl", 154 ], 155 include_dirs: [ 156 "packages/services/Car/cpp/computepipe", 157 "packages/services/Car/cpp/computepipe/runner/graph", 158 ], 159 srcs: [ 160 "LocalPrebuildGraphFuzzer.cpp", 161 ], 162} 163 164cc_fuzz { 165 name: "grpc_graph_fuzzer", 166 defaults: ["libcomputepipefuzz-defaults"], 167 cppflags: [ 168 "-fexceptions", 169 ], 170 static_libs: [ 171 "computepipe_grpc_graph_proto", 172 "computepipe_grpc_graph", 173 ], 174 shared_libs: [ 175 "libgrpc++", 176 "libprotobuf-cpp-full", 177 ], 178 include_dirs: [ 179 "packages/services/Car/cpp/computepipe", 180 "packages/services/Car/cpp/computepipe/runner/graph", 181 ], 182 srcs: [ 183 "GrpcGraphFuzzer.cpp", 184 ], 185} 186