blob: 031ed8b3427f0d8dc93da162f391260af8615794 [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
mbonadei9aa3f0a2017-01-24 06:58:22 -08009import("../../webrtc.gni")
Peter Boström62e9bda2015-11-23 15:12:06 +010010import("//build/config/features.gni")
katrielc839315b2016-06-20 06:03:39 -070011import("//testing/libfuzzer/fuzzer_test.gni")
Peter Boström62e9bda2015-11-23 15:12:06 +010012
ehmaldonado38a21322016-09-02 04:10:34 -070013rtc_static_library("webrtc_fuzzer_main") {
Peter Boström62e9bda2015-11-23 15:12:06 +010014 sources = [
15 "webrtc_fuzzer_main.cc",
16 ]
17 deps = [
Peter Boström89d658f2015-11-25 21:58:36 +010018 "../../system_wrappers:field_trial_default",
Peter Boström871c4192015-11-26 14:52:23 +010019 "../../system_wrappers:metrics_default",
Peter Boström62e9bda2015-11-23 15:12:06 +010020 "//testing/libfuzzer:libfuzzer_main",
21 ]
22}
23
katrielc839315b2016-06-20 06:03:39 -070024template("webrtc_fuzzer_test") {
25 fuzzer_test(target_name) {
26 forward_variables_from(invoker, "*")
27 deps += [ ":webrtc_fuzzer_main" ]
kjellandere40a7ee2016-10-16 23:56:12 -070028 if (!build_with_chromium && is_clang) {
29 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
katrielc839315b2016-06-20 06:03:39 -070030 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ]
31 }
32 }
33}
34
Peter Boström1e0cfd92015-12-17 14:28:16 +010035webrtc_fuzzer_test("h264_depacketizer_fuzzer") {
36 sources = [
37 "h264_depacketizer_fuzzer.cc",
38 ]
39 deps = [
40 "../../modules/rtp_rtcp",
41 ]
42}
43
44webrtc_fuzzer_test("vp8_depacketizer_fuzzer") {
45 sources = [
46 "vp8_depacketizer_fuzzer.cc",
47 ]
48 deps = [
49 "../../modules/rtp_rtcp",
50 ]
51}
52
Peter Boström78315b92015-12-15 21:57:52 +010053webrtc_fuzzer_test("vp9_depacketizer_fuzzer") {
Peter Boström62e9bda2015-11-23 15:12:06 +010054 sources = [
55 "vp9_depacketizer_fuzzer.cc",
56 ]
57 deps = [
Peter Boström62e9bda2015-11-23 15:12:06 +010058 "../../modules/rtp_rtcp",
59 ]
Peter Boström62e9bda2015-11-23 15:12:06 +010060}
Peter Boström871c4192015-11-26 14:52:23 +010061
Peter Boström78315b92015-12-15 21:57:52 +010062webrtc_fuzzer_test("vp8_qp_parser_fuzzer") {
Peter Boström871c4192015-11-26 14:52:23 +010063 sources = [
64 "vp8_qp_parser_fuzzer.cc",
65 ]
66 deps = [
Peter Boström871c4192015-11-26 14:52:23 +010067 "../../modules/video_coding/",
68 ]
Peter Boström871c4192015-11-26 14:52:23 +010069}
Henrik Lundinfe32a762015-12-08 11:27:27 +010070
pbosc6b4e542016-11-05 03:10:22 -070071webrtc_fuzzer_test("h264_bitstream_parser_fuzzer") {
72 sources = [
73 "h264_bitstream_parser_fuzzer.cc",
74 ]
75 deps = [
76 "../../modules/video_coding/",
77 ]
78}
79
brandtrcada34c2016-10-03 02:02:49 -070080webrtc_fuzzer_test("flexfec_header_reader_fuzzer") {
81 sources = [
82 "flexfec_header_reader_fuzzer.cc",
83 ]
84 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -070085 "../../modules/rtp_rtcp/",
brandtrcada34c2016-10-03 02:02:49 -070086 ]
87}
88
brandtr554becd2016-11-06 22:45:15 -080089webrtc_fuzzer_test("flexfec_sender_fuzzer") {
90 sources = [
91 "flexfec_sender_fuzzer.cc",
92 ]
93 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -070094 "../../modules/rtp_rtcp/",
brandtr554becd2016-11-06 22:45:15 -080095 ]
96 libfuzzer_options = [ "max_len=200" ]
97}
98
brandtrcada34c2016-10-03 02:02:49 -070099webrtc_fuzzer_test("ulpfec_header_reader_fuzzer") {
100 sources = [
101 "ulpfec_header_reader_fuzzer.cc",
102 ]
103 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700104 "../../modules/rtp_rtcp/",
brandtrcada34c2016-10-03 02:02:49 -0700105 ]
106}
107
brandtr869e7cd2016-10-31 05:27:07 -0700108webrtc_fuzzer_test("ulpfec_generator_fuzzer") {
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100109 sources = [
brandtr869e7cd2016-10-31 05:27:07 -0700110 "ulpfec_generator_fuzzer.cc",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100111 ]
112 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700113 "../../modules/rtp_rtcp/",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100114 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100115}
116
brandtre405d9b2016-10-18 01:18:04 -0700117webrtc_fuzzer_test("flexfec_receiver_fuzzer") {
118 sources = [
119 "flexfec_receiver_fuzzer.cc",
120 ]
121 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700122 "../../modules/rtp_rtcp/",
brandtre405d9b2016-10-18 01:18:04 -0700123 ]
124 libfuzzer_options = [ "max_len=2000" ]
125}
126
philipelea142f82017-01-11 02:01:56 -0800127webrtc_fuzzer_test("packet_buffer_fuzzer") {
128 sources = [
129 "packet_buffer_fuzzer.cc",
130 ]
131 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700132 "../../modules/video_coding/",
philipelea142f82017-01-11 02:01:56 -0800133 ]
134 libfuzzer_options = [ "max_len=2000" ]
135}
136
Peter Boströmba3e25e2016-02-23 11:35:30 +0100137webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
138 sources = [
139 "rtcp_receiver_fuzzer.cc",
140 ]
141 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700142 "../../modules/rtp_rtcp/",
Peter Boströmba3e25e2016-02-23 11:35:30 +0100143 ]
katrielcbddc94b2016-06-22 06:43:22 -0700144 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100145}
146
danilchap1edb7ab2016-04-20 05:25:10 -0700147webrtc_fuzzer_test("rtp_packet_fuzzer") {
148 sources = [
149 "rtp_packet_fuzzer.cc",
150 ]
151 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700152 "../../modules/rtp_rtcp/",
danilchap1edb7ab2016-04-20 05:25:10 -0700153 ]
katrielcbddc94b2016-06-22 06:43:22 -0700154 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700155}
156
katrielcd4bcdad2016-06-23 03:50:39 -0700157webrtc_fuzzer_test("rtp_header_fuzzer") {
158 sources = [
159 "rtp_header_fuzzer.cc",
160 ]
161 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700162 "../../modules/rtp_rtcp/",
katrielcd4bcdad2016-06-23 03:50:39 -0700163 ]
164}
165
stefanbded44b2016-07-18 09:26:06 -0700166webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
167 sources = [
168 "congestion_controller_feedback_fuzzer.cc",
169 ]
170 deps = [
skvladcc91d282016-10-03 18:31:22 -0700171 "../../logging:rtc_event_log_impl",
mbonadeib80ef8c2017-04-24 13:05:47 -0700172 "../../modules/congestion_controller/",
stefanbded44b2016-07-18 09:26:06 -0700173 ]
174}
175
kjellanderb62dbbe2016-09-23 00:38:52 -0700176rtc_static_library("audio_decoder_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100177 sources = [
178 "audio_decoder_fuzzer.cc",
179 "audio_decoder_fuzzer.h",
180 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100181}
182
Peter Boström78315b92015-12-15 21:57:52 +0100183webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100184 sources = [
185 "audio_decoder_ilbc_fuzzer.cc",
186 ]
187 deps = [
188 ":audio_decoder_fuzzer",
189 "../../modules/audio_coding:ilbc",
190 ]
191}
192
Peter Boström78315b92015-12-15 21:57:52 +0100193webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100194 sources = [
195 "audio_decoder_isac_fuzzer.cc",
196 ]
197 deps = [
198 ":audio_decoder_fuzzer",
199 "../../modules/audio_coding:isac",
200 ]
201}
202
henrik.lundinfd2be272016-02-09 00:00:23 -0800203webrtc_fuzzer_test("audio_decoder_isac_incoming_packet_fuzzer") {
204 sources = [
205 "audio_decoder_isac_incoming_packet_fuzzer.cc",
206 ]
207 deps = [
208 ":audio_decoder_fuzzer",
209 "../../modules/audio_coding:isac",
210 ]
211}
212
Peter Boström78315b92015-12-15 21:57:52 +0100213webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100214 sources = [
215 "audio_decoder_isacfix_fuzzer.cc",
216 ]
217 deps = [
218 ":audio_decoder_fuzzer",
219 "../../modules/audio_coding:isac_fix",
220 ]
221}
222
Peter Boström78315b92015-12-15 21:57:52 +0100223webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100224 sources = [
225 "audio_decoder_opus_fuzzer.cc",
226 ]
227 deps = [
228 ":audio_decoder_fuzzer",
229 "../../modules/audio_coding:webrtc_opus",
230 ]
231}
henrik.lundinfd2be272016-02-09 00:00:23 -0800232
233webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
234 sources = [
235 "audio_decoder_opus_redundant_fuzzer.cc",
236 ]
237 deps = [
238 ":audio_decoder_fuzzer",
239 "../../modules/audio_coding:webrtc_opus",
240 ]
241}
katrielc262ba772016-07-06 05:59:23 -0700242
phoglund667bd072016-09-16 05:05:39 -0700243webrtc_fuzzer_test("turn_unwrap_fuzzer") {
244 sources = [
245 "turn_unwrap_fuzzer.cc",
246 ]
247 deps = [
248 "../../media:media",
249 ]
250}
katrielc1d4fefb2016-07-06 08:02:00 -0700251
henrik.lundin58466f62016-10-05 02:27:42 -0700252webrtc_fuzzer_test("neteq_rtp_fuzzer") {
253 sources = [
254 "neteq_rtp_fuzzer.cc",
255 ]
256 deps = [
257 "../../modules/audio_coding:neteq",
258 "../../modules/audio_coding:neteq_test_minimal",
259 "../../modules/audio_coding:pcm16b",
260 "../../modules/rtp_rtcp",
261 ]
262}
263
phoglund667bd072016-09-16 05:05:39 -0700264webrtc_fuzzer_test("sdp_parser_fuzzer") {
265 sources = [
266 "sdp_parser_fuzzer.cc",
267 ]
268 deps = [
ossu7bb87ee2017-01-23 04:56:25 -0800269 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700270 ]
271 seed_corpus = "corpora/sdp-corpus"
272}
katrielc1d4fefb2016-07-06 08:02:00 -0700273
phoglund667bd072016-09-16 05:05:39 -0700274webrtc_fuzzer_test("stun_parser_fuzzer") {
275 sources = [
276 "stun_parser_fuzzer.cc",
277 ]
278 deps = [
279 "../../p2p:rtc_p2p",
280 ]
281 seed_corpus = "corpora/stun-corpus"
282 dict = "corpora/stun.tokens"
283}
katrielc1d4fefb2016-07-06 08:02:00 -0700284
phoglund667bd072016-09-16 05:05:39 -0700285webrtc_fuzzer_test("stun_validator_fuzzer") {
286 sources = [
287 "stun_validator_fuzzer.cc",
288 ]
289 deps = [
290 "../../p2p:rtc_p2p",
291 ]
292 seed_corpus = "corpora/stun-corpus"
293 dict = "corpora/stun.tokens"
294}
katrielc44905cf2016-07-07 05:52:24 -0700295
phoglund667bd072016-09-16 05:05:39 -0700296webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
297 sources = [
298 "pseudotcp_parser_fuzzer.cc",
299 ]
300 deps = [
301 "../../p2p:rtc_p2p",
302 ]
katrielc262ba772016-07-06 05:59:23 -0700303}
minyue435ddf92017-01-23 08:07:05 -0800304
305webrtc_fuzzer_test("transport_feedback_packet_loss_tracker_fuzzer") {
306 sources = [
307 "transport_feedback_packet_loss_tracker_fuzzer.cc",
308 ]
309 deps = [
310 "../../modules/rtp_rtcp",
311 "../../voice_engine",
312 ]
313}