blob: ee4275b6de6ee885a41522e9bf0e6ff22c661515 [file] [log] [blame]
Peter Boström62e9bda2015-11-23 15:12:06 +01001# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
ehmaldonado38a21322016-09-02 04:10:34 -07009import("../../build/webrtc.gni")
Peter Boström62e9bda2015-11-23 15:12:06 +010010import("//build/config/features.gni")
katrielc262ba772016-07-06 05:59:23 -070011import("//build_overrides/webrtc.gni")
katrielc839315b2016-06-20 06:03:39 -070012import("//testing/libfuzzer/fuzzer_test.gni")
Peter Boström62e9bda2015-11-23 15:12:06 +010013
ehmaldonado38a21322016-09-02 04:10:34 -070014rtc_static_library("webrtc_fuzzer_main") {
Henrik Lundinfe32a762015-12-08 11:27:27 +010015 public_configs = [ "../..:common_inherited_config" ]
Peter Boström62e9bda2015-11-23 15:12:06 +010016 sources = [
17 "webrtc_fuzzer_main.cc",
18 ]
19 deps = [
Peter Boström89d658f2015-11-25 21:58:36 +010020 "../../system_wrappers:field_trial_default",
Peter Boström871c4192015-11-26 14:52:23 +010021 "../../system_wrappers:metrics_default",
Peter Boström62e9bda2015-11-23 15:12:06 +010022 "//testing/libfuzzer:libfuzzer_main",
23 ]
24}
25
katrielc839315b2016-06-20 06:03:39 -070026template("webrtc_fuzzer_test") {
27 fuzzer_test(target_name) {
28 forward_variables_from(invoker, "*")
29 deps += [ ":webrtc_fuzzer_main" ]
30 if (is_clang) {
31 # Suppress warnings from Chrome's Clang plugins.
32 # See http://code.google.com/p/webrtc/issues/detail?id=163 for details
33 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ]
34 }
35 }
36}
37
Peter Boström1e0cfd92015-12-17 14:28:16 +010038webrtc_fuzzer_test("h264_depacketizer_fuzzer") {
39 sources = [
40 "h264_depacketizer_fuzzer.cc",
41 ]
42 deps = [
43 "../../modules/rtp_rtcp",
44 ]
45}
46
47webrtc_fuzzer_test("vp8_depacketizer_fuzzer") {
48 sources = [
49 "vp8_depacketizer_fuzzer.cc",
50 ]
51 deps = [
52 "../../modules/rtp_rtcp",
53 ]
54}
55
Peter Boström78315b92015-12-15 21:57:52 +010056webrtc_fuzzer_test("vp9_depacketizer_fuzzer") {
Peter Boström62e9bda2015-11-23 15:12:06 +010057 sources = [
58 "vp9_depacketizer_fuzzer.cc",
59 ]
60 deps = [
Peter Boström62e9bda2015-11-23 15:12:06 +010061 "../../modules/rtp_rtcp",
62 ]
Peter Boström62e9bda2015-11-23 15:12:06 +010063}
Peter Boström871c4192015-11-26 14:52:23 +010064
Peter Boström78315b92015-12-15 21:57:52 +010065webrtc_fuzzer_test("vp8_qp_parser_fuzzer") {
Peter Boström871c4192015-11-26 14:52:23 +010066 sources = [
67 "vp8_qp_parser_fuzzer.cc",
68 ]
69 deps = [
Peter Boström871c4192015-11-26 14:52:23 +010070 "../../modules/video_coding/",
71 ]
Peter Boström871c4192015-11-26 14:52:23 +010072}
Henrik Lundinfe32a762015-12-08 11:27:27 +010073
Peter Boström78315b92015-12-15 21:57:52 +010074webrtc_fuzzer_test("producer_fec_fuzzer") {
Stefan Holmer4c1093b2015-12-11 18:25:45 +010075 sources = [
76 "producer_fec_fuzzer.cc",
77 ]
78 deps = [
Stefan Holmer4c1093b2015-12-11 18:25:45 +010079 "../../modules/rtp_rtcp/",
80 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +010081}
82
Peter Boströmba3e25e2016-02-23 11:35:30 +010083webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
84 sources = [
85 "rtcp_receiver_fuzzer.cc",
86 ]
87 deps = [
88 "../../modules/rtp_rtcp/",
89 ]
katrielcbddc94b2016-06-22 06:43:22 -070090 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +010091}
92
danilchap1edb7ab2016-04-20 05:25:10 -070093webrtc_fuzzer_test("rtp_packet_fuzzer") {
94 sources = [
95 "rtp_packet_fuzzer.cc",
96 ]
97 deps = [
98 "../../modules/rtp_rtcp/",
99 ]
katrielcbddc94b2016-06-22 06:43:22 -0700100 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700101}
102
katrielcd4bcdad2016-06-23 03:50:39 -0700103webrtc_fuzzer_test("rtp_header_fuzzer") {
104 sources = [
105 "rtp_header_fuzzer.cc",
106 ]
107 deps = [
108 "../../modules/rtp_rtcp/",
109 ]
110}
111
stefanbded44b2016-07-18 09:26:06 -0700112webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
113 sources = [
114 "congestion_controller_feedback_fuzzer.cc",
115 ]
116 deps = [
Stefan Holmer13181032016-07-29 14:48:54 +0200117 "../../:rtc_event_log",
stefanbded44b2016-07-18 09:26:06 -0700118 "../../modules/congestion_controller/",
119 ]
120}
121
ehmaldonado38a21322016-09-02 04:10:34 -0700122rtc_source_set("audio_decoder_fuzzer") {
Peter Boström78315b92015-12-15 21:57:52 +0100123 public_configs = [ "../..:common_inherited_config" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100124 sources = [
125 "audio_decoder_fuzzer.cc",
126 "audio_decoder_fuzzer.h",
127 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100128}
129
Peter Boström78315b92015-12-15 21:57:52 +0100130webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100131 sources = [
132 "audio_decoder_ilbc_fuzzer.cc",
133 ]
134 deps = [
135 ":audio_decoder_fuzzer",
136 "../../modules/audio_coding:ilbc",
137 ]
138}
139
Peter Boström78315b92015-12-15 21:57:52 +0100140webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100141 sources = [
142 "audio_decoder_isac_fuzzer.cc",
143 ]
144 deps = [
145 ":audio_decoder_fuzzer",
146 "../../modules/audio_coding:isac",
147 ]
148}
149
henrik.lundinfd2be272016-02-09 00:00:23 -0800150webrtc_fuzzer_test("audio_decoder_isac_incoming_packet_fuzzer") {
151 sources = [
152 "audio_decoder_isac_incoming_packet_fuzzer.cc",
153 ]
154 deps = [
155 ":audio_decoder_fuzzer",
156 "../../modules/audio_coding:isac",
157 ]
158}
159
Peter Boström78315b92015-12-15 21:57:52 +0100160webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100161 sources = [
162 "audio_decoder_isacfix_fuzzer.cc",
163 ]
164 deps = [
165 ":audio_decoder_fuzzer",
166 "../../modules/audio_coding:isac_fix",
167 ]
168}
169
Peter Boström78315b92015-12-15 21:57:52 +0100170webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100171 sources = [
172 "audio_decoder_opus_fuzzer.cc",
173 ]
174 deps = [
175 ":audio_decoder_fuzzer",
176 "../../modules/audio_coding:webrtc_opus",
177 ]
178}
henrik.lundinfd2be272016-02-09 00:00:23 -0800179
180webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
181 sources = [
182 "audio_decoder_opus_redundant_fuzzer.cc",
183 ]
184 deps = [
185 ":audio_decoder_fuzzer",
186 "../../modules/audio_coding:webrtc_opus",
187 ]
188}
katrielc262ba772016-07-06 05:59:23 -0700189
190# TODO(katrielc) Enable in Chromium when CL 2022833002 lands.
191# Although the dependency on media compiles in standalone, it is
192# flagged by gn check, so breaks when rolled into Chromium.
193if (!build_with_chromium) {
194 webrtc_fuzzer_test("turn_unwrap_fuzzer") {
195 sources = [
196 "turn_unwrap_fuzzer.cc",
197 ]
198 deps = [
199 "../../media:media",
200 ]
201 }
katrielc1d4fefb2016-07-06 08:02:00 -0700202
203 webrtc_fuzzer_test("sdp_parser_fuzzer") {
204 sources = [
205 "sdp_parser_fuzzer.cc",
206 ]
207 deps = [
208 "../../api:libjingle_peerconnection",
209 ]
210 seed_corpus = "corpora/sdp-corpus"
211 }
212
213 webrtc_fuzzer_test("stun_parser_fuzzer") {
214 sources = [
215 "stun_parser_fuzzer.cc",
216 ]
217 deps = [
218 "../../p2p:rtc_p2p",
219 ]
220 seed_corpus = "corpora/stun-corpus"
221 dict = "corpora/stun.tokens"
222 }
223
224 webrtc_fuzzer_test("stun_validator_fuzzer") {
225 sources = [
226 "stun_validator_fuzzer.cc",
227 ]
228 deps = [
229 "../../p2p:rtc_p2p",
230 ]
231 seed_corpus = "corpora/stun-corpus"
232 dict = "corpora/stun.tokens"
233 }
katrielc44905cf2016-07-07 05:52:24 -0700234
235 webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
236 sources = [
237 "pseudotcp_parser_fuzzer.cc",
238 ]
239 deps = [
240 "../../p2p:rtc_p2p",
241 ]
242 }
katrielc262ba772016-07-06 05:59:23 -0700243}