blob: 6035cd93af926d092cb0321989eabea109ed1cc6 [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 = [
ehmaldonadof6a861a2017-07-19 10:40:47 -070018 "../../rtc_base:rtc_base_approved",
Peter Boström89d658f2015-11-25 21:58:36 +010019 "../../system_wrappers:field_trial_default",
Peter Boström871c4192015-11-26 14:52:23 +010020 "../../system_wrappers:metrics_default",
Peter Boström62e9bda2015-11-23 15:12:06 +010021 "//testing/libfuzzer:libfuzzer_main",
22 ]
23}
24
katrielc839315b2016-06-20 06:03:39 -070025template("webrtc_fuzzer_test") {
26 fuzzer_test(target_name) {
27 forward_variables_from(invoker, "*")
28 deps += [ ":webrtc_fuzzer_main" ]
kjellandere40a7ee2016-10-16 23:56:12 -070029 if (!build_with_chromium && is_clang) {
30 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
katrielc839315b2016-06-20 06:03:39 -070031 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ]
32 }
33 }
34}
35
Peter Boström1e0cfd92015-12-17 14:28:16 +010036webrtc_fuzzer_test("h264_depacketizer_fuzzer") {
37 sources = [
38 "h264_depacketizer_fuzzer.cc",
39 ]
40 deps = [
41 "../../modules/rtp_rtcp",
42 ]
43}
44
45webrtc_fuzzer_test("vp8_depacketizer_fuzzer") {
46 sources = [
47 "vp8_depacketizer_fuzzer.cc",
48 ]
49 deps = [
50 "../../modules/rtp_rtcp",
51 ]
52}
53
Peter Boström78315b92015-12-15 21:57:52 +010054webrtc_fuzzer_test("vp9_depacketizer_fuzzer") {
Peter Boström62e9bda2015-11-23 15:12:06 +010055 sources = [
56 "vp9_depacketizer_fuzzer.cc",
57 ]
58 deps = [
Peter Boström62e9bda2015-11-23 15:12:06 +010059 "../../modules/rtp_rtcp",
60 ]
Peter Boström62e9bda2015-11-23 15:12:06 +010061}
Peter Boström871c4192015-11-26 14:52:23 +010062
Peter Boström78315b92015-12-15 21:57:52 +010063webrtc_fuzzer_test("vp8_qp_parser_fuzzer") {
Peter Boström871c4192015-11-26 14:52:23 +010064 sources = [
65 "vp8_qp_parser_fuzzer.cc",
66 ]
67 deps = [
mbonadei3edccb92017-06-01 04:47:20 -070068 "../../modules/video_coding:video_coding_utility",
Peter Boström871c4192015-11-26 14:52:23 +010069 "../../modules/video_coding/",
70 ]
Peter Boström871c4192015-11-26 14:52:23 +010071}
Henrik Lundinfe32a762015-12-08 11:27:27 +010072
asapersson23ec19d2017-06-06 23:41:44 -070073webrtc_fuzzer_test("vp9_qp_parser_fuzzer") {
74 sources = [
75 "vp9_qp_parser_fuzzer.cc",
76 ]
77 deps = [
78 "../../modules/video_coding:video_coding_utility",
79 "../../modules/video_coding/",
80 ]
81}
82
pbosc6b4e542016-11-05 03:10:22 -070083webrtc_fuzzer_test("h264_bitstream_parser_fuzzer") {
84 sources = [
85 "h264_bitstream_parser_fuzzer.cc",
86 ]
87 deps = [
mbonadei3edccb92017-06-01 04:47:20 -070088 "../../common_video",
pbosc6b4e542016-11-05 03:10:22 -070089 "../../modules/video_coding/",
90 ]
91}
92
brandtrcada34c2016-10-03 02:02:49 -070093webrtc_fuzzer_test("flexfec_header_reader_fuzzer") {
94 sources = [
95 "flexfec_header_reader_fuzzer.cc",
96 ]
97 deps = [
kjellandere0629c02017-04-25 04:04:50 -070098 "../../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -070099 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700100 ]
101}
102
brandtr554becd2016-11-06 22:45:15 -0800103webrtc_fuzzer_test("flexfec_sender_fuzzer") {
104 sources = [
105 "flexfec_sender_fuzzer.cc",
106 ]
107 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700108 "../../modules/rtp_rtcp",
mbonadei3edccb92017-06-01 04:47:20 -0700109 "../../system_wrappers",
brandtr554becd2016-11-06 22:45:15 -0800110 ]
111 libfuzzer_options = [ "max_len=200" ]
112}
113
brandtrcada34c2016-10-03 02:02:49 -0700114webrtc_fuzzer_test("ulpfec_header_reader_fuzzer") {
115 sources = [
116 "ulpfec_header_reader_fuzzer.cc",
117 ]
118 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700119 "../../modules/rtp_rtcp",
120 "../../modules/rtp_rtcp:fec_test_helper",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700121 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700122 ]
123}
124
brandtr869e7cd2016-10-31 05:27:07 -0700125webrtc_fuzzer_test("ulpfec_generator_fuzzer") {
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100126 sources = [
brandtr869e7cd2016-10-31 05:27:07 -0700127 "ulpfec_generator_fuzzer.cc",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100128 ]
129 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700130 "../../modules/rtp_rtcp",
131 "../../modules/rtp_rtcp:fec_test_helper",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700132 "../../rtc_base:rtc_base_approved",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100133 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100134}
135
brandtre405d9b2016-10-18 01:18:04 -0700136webrtc_fuzzer_test("flexfec_receiver_fuzzer") {
137 sources = [
138 "flexfec_receiver_fuzzer.cc",
139 ]
140 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700141 "../../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700142 "../../rtc_base:rtc_base_approved",
brandtre405d9b2016-10-18 01:18:04 -0700143 ]
144 libfuzzer_options = [ "max_len=2000" ]
145}
146
philipelea142f82017-01-11 02:01:56 -0800147webrtc_fuzzer_test("packet_buffer_fuzzer") {
148 sources = [
149 "packet_buffer_fuzzer.cc",
150 ]
151 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700152 "../../modules/video_coding/",
mbonadei3edccb92017-06-01 04:47:20 -0700153 "../../system_wrappers",
philipelea142f82017-01-11 02:01:56 -0800154 ]
155 libfuzzer_options = [ "max_len=2000" ]
156}
157
Peter Boströmba3e25e2016-02-23 11:35:30 +0100158webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
159 sources = [
160 "rtcp_receiver_fuzzer.cc",
161 ]
162 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700163 "../../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700164 "../../rtc_base:rtc_base_approved",
mbonadei3edccb92017-06-01 04:47:20 -0700165 "../../system_wrappers:system_wrappers",
Peter Boströmba3e25e2016-02-23 11:35:30 +0100166 ]
katrielcbddc94b2016-06-22 06:43:22 -0700167 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100168}
169
danilchap1edb7ab2016-04-20 05:25:10 -0700170webrtc_fuzzer_test("rtp_packet_fuzzer") {
171 sources = [
172 "rtp_packet_fuzzer.cc",
173 ]
174 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700175 "../../modules/rtp_rtcp",
danilchap1edb7ab2016-04-20 05:25:10 -0700176 ]
katrielcbddc94b2016-06-22 06:43:22 -0700177 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700178}
179
katrielcd4bcdad2016-06-23 03:50:39 -0700180webrtc_fuzzer_test("rtp_header_fuzzer") {
181 sources = [
182 "rtp_header_fuzzer.cc",
183 ]
184 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700185 "../../modules/rtp_rtcp",
katrielcd4bcdad2016-06-23 03:50:39 -0700186 ]
187}
188
stefanbded44b2016-07-18 09:26:06 -0700189webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
190 sources = [
191 "congestion_controller_feedback_fuzzer.cc",
192 ]
193 deps = [
mbonadei3edccb92017-06-01 04:47:20 -0700194 "../../logging:rtc_event_log_api",
skvladcc91d282016-10-03 18:31:22 -0700195 "../../logging:rtc_event_log_impl",
Niels Möller245f17e2017-08-21 10:45:07 +0200196 "../../modules/congestion_controller",
197 "../../modules/pacing",
mbonadei3edccb92017-06-01 04:47:20 -0700198 "../../modules/remote_bitrate_estimator:remote_bitrate_estimator",
199 "../../modules/rtp_rtcp",
stefanbded44b2016-07-18 09:26:06 -0700200 ]
201}
202
kjellanderb62dbbe2016-09-23 00:38:52 -0700203rtc_static_library("audio_decoder_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100204 sources = [
205 "audio_decoder_fuzzer.cc",
206 "audio_decoder_fuzzer.h",
207 ]
mbonadei3edccb92017-06-01 04:47:20 -0700208 deps = [
209 "../..:webrtc_common",
kwiberg84f6a3f2017-09-05 08:43:13 -0700210 "../../api:optional",
mbonadei3edccb92017-06-01 04:47:20 -0700211 "../../api/audio_codecs:audio_codecs_api",
mbonadei3edccb92017-06-01 04:47:20 -0700212 "../../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700213 "../../rtc_base:rtc_base_approved",
mbonadei3edccb92017-06-01 04:47:20 -0700214 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100215}
216
Peter Boström78315b92015-12-15 21:57:52 +0100217webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100218 sources = [
219 "audio_decoder_ilbc_fuzzer.cc",
220 ]
221 deps = [
222 ":audio_decoder_fuzzer",
223 "../../modules/audio_coding:ilbc",
224 ]
225}
226
Peter Boström78315b92015-12-15 21:57:52 +0100227webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100228 sources = [
229 "audio_decoder_isac_fuzzer.cc",
230 ]
231 deps = [
232 ":audio_decoder_fuzzer",
233 "../../modules/audio_coding:isac",
234 ]
235}
236
henrik.lundinfd2be272016-02-09 00:00:23 -0800237webrtc_fuzzer_test("audio_decoder_isac_incoming_packet_fuzzer") {
238 sources = [
239 "audio_decoder_isac_incoming_packet_fuzzer.cc",
240 ]
241 deps = [
242 ":audio_decoder_fuzzer",
243 "../../modules/audio_coding:isac",
244 ]
245}
246
Peter Boström78315b92015-12-15 21:57:52 +0100247webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100248 sources = [
249 "audio_decoder_isacfix_fuzzer.cc",
250 ]
251 deps = [
252 ":audio_decoder_fuzzer",
253 "../../modules/audio_coding:isac_fix",
254 ]
255}
256
Peter Boström78315b92015-12-15 21:57:52 +0100257webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100258 sources = [
259 "audio_decoder_opus_fuzzer.cc",
260 ]
261 deps = [
262 ":audio_decoder_fuzzer",
263 "../../modules/audio_coding:webrtc_opus",
264 ]
265}
henrik.lundinfd2be272016-02-09 00:00:23 -0800266
267webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
268 sources = [
269 "audio_decoder_opus_redundant_fuzzer.cc",
270 ]
271 deps = [
272 ":audio_decoder_fuzzer",
273 "../../modules/audio_coding:webrtc_opus",
274 ]
275}
katrielc262ba772016-07-06 05:59:23 -0700276
phoglund667bd072016-09-16 05:05:39 -0700277webrtc_fuzzer_test("turn_unwrap_fuzzer") {
278 sources = [
279 "turn_unwrap_fuzzer.cc",
280 ]
281 deps = [
282 "../../media:media",
283 ]
284}
katrielc1d4fefb2016-07-06 08:02:00 -0700285
henrik.lundin58466f62016-10-05 02:27:42 -0700286webrtc_fuzzer_test("neteq_rtp_fuzzer") {
287 sources = [
288 "neteq_rtp_fuzzer.cc",
289 ]
290 deps = [
kwiberg529662a2017-09-04 05:43:17 -0700291 "../../api:array_view",
mbonadei3d7b0e22017-04-26 00:38:48 -0700292 "../../modules/audio_coding:neteq",
mbonadei3edccb92017-06-01 04:47:20 -0700293 "../../modules/audio_coding:neteq_test_tools",
henrik.lundinb637a942017-04-28 00:59:45 -0700294 "../../modules/audio_coding:neteq_tools_minimal",
henrik.lundin58466f62016-10-05 02:27:42 -0700295 "../../modules/audio_coding:pcm16b",
296 "../../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700297 "../../rtc_base:rtc_base_approved",
298 "../../rtc_base:rtc_base_tests_utils",
henrik.lundin58466f62016-10-05 02:27:42 -0700299 ]
300}
301
ivoc860249e2017-05-16 06:50:11 -0700302webrtc_fuzzer_test("residual_echo_detector_fuzzer") {
303 sources = [
304 "residual_echo_detector_fuzzer.cc",
305 ]
306 deps = [
ivoc860249e2017-05-16 06:50:11 -0700307 "../../modules/audio_processing:audio_processing",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700308 "../../rtc_base:rtc_base_approved",
ivoc860249e2017-05-16 06:50:11 -0700309 ]
310}
311
phoglund667bd072016-09-16 05:05:39 -0700312webrtc_fuzzer_test("sdp_parser_fuzzer") {
313 sources = [
314 "sdp_parser_fuzzer.cc",
315 ]
316 deps = [
ossu7bb87ee2017-01-23 04:56:25 -0800317 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700318 ]
319 seed_corpus = "corpora/sdp-corpus"
320}
katrielc1d4fefb2016-07-06 08:02:00 -0700321
phoglund667bd072016-09-16 05:05:39 -0700322webrtc_fuzzer_test("stun_parser_fuzzer") {
323 sources = [
324 "stun_parser_fuzzer.cc",
325 ]
326 deps = [
327 "../../p2p:rtc_p2p",
328 ]
329 seed_corpus = "corpora/stun-corpus"
330 dict = "corpora/stun.tokens"
331}
katrielc1d4fefb2016-07-06 08:02:00 -0700332
phoglund667bd072016-09-16 05:05:39 -0700333webrtc_fuzzer_test("stun_validator_fuzzer") {
334 sources = [
335 "stun_validator_fuzzer.cc",
336 ]
337 deps = [
338 "../../p2p:rtc_p2p",
339 ]
340 seed_corpus = "corpora/stun-corpus"
341 dict = "corpora/stun.tokens"
342}
katrielc44905cf2016-07-07 05:52:24 -0700343
phoglund667bd072016-09-16 05:05:39 -0700344webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
345 sources = [
346 "pseudotcp_parser_fuzzer.cc",
347 ]
348 deps = [
349 "../../p2p:rtc_p2p",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700350 "../../rtc_base:rtc_base",
phoglund667bd072016-09-16 05:05:39 -0700351 ]
katrielc262ba772016-07-06 05:59:23 -0700352}
minyue435ddf92017-01-23 08:07:05 -0800353
354webrtc_fuzzer_test("transport_feedback_packet_loss_tracker_fuzzer") {
355 sources = [
356 "transport_feedback_packet_loss_tracker_fuzzer.cc",
357 ]
358 deps = [
kwiberg529662a2017-09-04 05:43:17 -0700359 "../../api:array_view",
minyue435ddf92017-01-23 08:07:05 -0800360 "../../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700361 "../../rtc_base:rtc_base_approved",
minyue435ddf92017-01-23 08:07:05 -0800362 "../../voice_engine",
363 ]
364}
aleloi8c512822017-06-20 05:26:55 -0700365
366webrtc_fuzzer_test("audio_processing_fuzzer") {
367 sources = [
368 "audio_processing_fuzzer.cc",
369 "audio_processing_fuzzer.h",
370 "audio_processing_fuzzer_configs.cc",
371 ]
372 deps = [
kwiberg84f6a3f2017-09-05 08:43:13 -0700373 "../../api:optional",
aleloi8c512822017-06-20 05:26:55 -0700374 "../../modules:module_api",
375 "../../modules/audio_processing",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700376 "../../rtc_base:rtc_base_approved",
aleloi8c512822017-06-20 05:26:55 -0700377 ]
378}