blob: cab24837317ca21ef6575d16728ebba74d349164 [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 = [
mbonadei6f276332017-04-19 02:58:33 -070018 "../../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 = [
mbonadei6f276332017-04-19 02:58:33 -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
pbosc6b4e542016-11-05 03:10:22 -070073webrtc_fuzzer_test("h264_bitstream_parser_fuzzer") {
74 sources = [
75 "h264_bitstream_parser_fuzzer.cc",
76 ]
77 deps = [
mbonadei6f276332017-04-19 02:58:33 -070078 "../../common_video",
pbosc6b4e542016-11-05 03:10:22 -070079 "../../modules/video_coding/",
80 ]
81}
82
brandtrcada34c2016-10-03 02:02:49 -070083webrtc_fuzzer_test("flexfec_header_reader_fuzzer") {
84 sources = [
85 "flexfec_header_reader_fuzzer.cc",
86 ]
87 deps = [
mbonadei6f276332017-04-19 02:58:33 -070088 "../../base:rtc_base_approved",
89 "../../modules/rtp_rtcp",
brandtrcada34c2016-10-03 02:02:49 -070090 ]
91}
92
brandtr554becd2016-11-06 22:45:15 -080093webrtc_fuzzer_test("flexfec_sender_fuzzer") {
94 sources = [
95 "flexfec_sender_fuzzer.cc",
96 ]
97 deps = [
mbonadei6f276332017-04-19 02:58:33 -070098 "../../modules/rtp_rtcp",
99 "../../system_wrappers",
brandtr554becd2016-11-06 22:45:15 -0800100 ]
101 libfuzzer_options = [ "max_len=200" ]
102}
103
brandtrcada34c2016-10-03 02:02:49 -0700104webrtc_fuzzer_test("ulpfec_header_reader_fuzzer") {
105 sources = [
106 "ulpfec_header_reader_fuzzer.cc",
107 ]
108 deps = [
mbonadei6f276332017-04-19 02:58:33 -0700109 "../../base:rtc_base_approved",
110 "../../modules/rtp_rtcp",
brandtrcada34c2016-10-03 02:02:49 -0700111 ]
112}
113
brandtr869e7cd2016-10-31 05:27:07 -0700114webrtc_fuzzer_test("ulpfec_generator_fuzzer") {
mbonadei14b86d32017-04-24 08:44:14 -0700115 check_includes = false # TODO(mbonadei): see bugs.webrtc.org/7515
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100116 sources = [
brandtr869e7cd2016-10-31 05:27:07 -0700117 "ulpfec_generator_fuzzer.cc",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100118 ]
119 deps = [
mbonadei14b86d32017-04-24 08:44:14 -0700120 # Removing rtp_rtcp_unittests from the dep list because it causes problems
121 # in chromium (chromium has rtc_include_tests set to false so these targets
122 # does not exist).
mbonadei6f276332017-04-19 02:58:33 -0700123 "../../base:rtc_base_approved",
124 "../../modules/rtp_rtcp",
mbonadei14b86d32017-04-24 08:44:14 -0700125
126 # "../../modules/rtp_rtcp:rtp_rtcp_unittests",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100127 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100128}
129
brandtre405d9b2016-10-18 01:18:04 -0700130webrtc_fuzzer_test("flexfec_receiver_fuzzer") {
131 sources = [
132 "flexfec_receiver_fuzzer.cc",
133 ]
134 deps = [
mbonadei6f276332017-04-19 02:58:33 -0700135 "../../base:rtc_base_approved",
136 "../../modules/rtp_rtcp",
brandtre405d9b2016-10-18 01:18:04 -0700137 ]
138 libfuzzer_options = [ "max_len=2000" ]
139}
140
philipelea142f82017-01-11 02:01:56 -0800141webrtc_fuzzer_test("packet_buffer_fuzzer") {
142 sources = [
143 "packet_buffer_fuzzer.cc",
144 ]
145 deps = [
mbonadei6f276332017-04-19 02:58:33 -0700146 "../../modules/video_coding",
147 "../../system_wrappers",
philipelea142f82017-01-11 02:01:56 -0800148 ]
149 libfuzzer_options = [ "max_len=2000" ]
150}
151
Peter Boströmba3e25e2016-02-23 11:35:30 +0100152webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
153 sources = [
154 "rtcp_receiver_fuzzer.cc",
155 ]
156 deps = [
mbonadei6f276332017-04-19 02:58:33 -0700157 "../../base:rtc_base_approved",
158 "../../modules/rtp_rtcp",
159 "../../system_wrappers",
Peter Boströmba3e25e2016-02-23 11:35:30 +0100160 ]
katrielcbddc94b2016-06-22 06:43:22 -0700161 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100162}
163
danilchap1edb7ab2016-04-20 05:25:10 -0700164webrtc_fuzzer_test("rtp_packet_fuzzer") {
165 sources = [
166 "rtp_packet_fuzzer.cc",
167 ]
168 deps = [
mbonadei6f276332017-04-19 02:58:33 -0700169 "../../modules/rtp_rtcp",
danilchap1edb7ab2016-04-20 05:25:10 -0700170 ]
katrielcbddc94b2016-06-22 06:43:22 -0700171 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700172}
173
katrielcd4bcdad2016-06-23 03:50:39 -0700174webrtc_fuzzer_test("rtp_header_fuzzer") {
175 sources = [
176 "rtp_header_fuzzer.cc",
177 ]
178 deps = [
mbonadei6f276332017-04-19 02:58:33 -0700179 "../../modules/rtp_rtcp",
katrielcd4bcdad2016-06-23 03:50:39 -0700180 ]
181}
182
stefanbded44b2016-07-18 09:26:06 -0700183webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
184 sources = [
185 "congestion_controller_feedback_fuzzer.cc",
186 ]
187 deps = [
mbonadei6f276332017-04-19 02:58:33 -0700188 "../../logging:rtc_event_log_api",
skvladcc91d282016-10-03 18:31:22 -0700189 "../../logging:rtc_event_log_impl",
mbonadei6f276332017-04-19 02:58:33 -0700190 "../../modules/congestion_controller",
191 "../../modules/remote_bitrate_estimator",
192 "../../modules/rtp_rtcp",
stefanbded44b2016-07-18 09:26:06 -0700193 ]
194}
195
kjellanderb62dbbe2016-09-23 00:38:52 -0700196rtc_static_library("audio_decoder_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100197 sources = [
198 "audio_decoder_fuzzer.cc",
199 "audio_decoder_fuzzer.h",
200 ]
mbonadei6f276332017-04-19 02:58:33 -0700201 deps = [
202 "../..:webrtc_common",
203 "../../api/audio_codecs:audio_codecs_api",
204 "../../base:rtc_base_approved",
205 "../../modules/rtp_rtcp",
206 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100207}
208
Peter Boström78315b92015-12-15 21:57:52 +0100209webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100210 sources = [
211 "audio_decoder_ilbc_fuzzer.cc",
212 ]
213 deps = [
214 ":audio_decoder_fuzzer",
215 "../../modules/audio_coding:ilbc",
216 ]
217}
218
Peter Boström78315b92015-12-15 21:57:52 +0100219webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100220 sources = [
221 "audio_decoder_isac_fuzzer.cc",
222 ]
223 deps = [
224 ":audio_decoder_fuzzer",
225 "../../modules/audio_coding:isac",
226 ]
227}
228
henrik.lundinfd2be272016-02-09 00:00:23 -0800229webrtc_fuzzer_test("audio_decoder_isac_incoming_packet_fuzzer") {
230 sources = [
231 "audio_decoder_isac_incoming_packet_fuzzer.cc",
232 ]
233 deps = [
234 ":audio_decoder_fuzzer",
235 "../../modules/audio_coding:isac",
236 ]
237}
238
Peter Boström78315b92015-12-15 21:57:52 +0100239webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100240 sources = [
241 "audio_decoder_isacfix_fuzzer.cc",
242 ]
243 deps = [
244 ":audio_decoder_fuzzer",
245 "../../modules/audio_coding:isac_fix",
246 ]
247}
248
Peter Boström78315b92015-12-15 21:57:52 +0100249webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100250 sources = [
251 "audio_decoder_opus_fuzzer.cc",
252 ]
253 deps = [
254 ":audio_decoder_fuzzer",
255 "../../modules/audio_coding:webrtc_opus",
256 ]
257}
henrik.lundinfd2be272016-02-09 00:00:23 -0800258
259webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
260 sources = [
261 "audio_decoder_opus_redundant_fuzzer.cc",
262 ]
263 deps = [
264 ":audio_decoder_fuzzer",
265 "../../modules/audio_coding:webrtc_opus",
266 ]
267}
katrielc262ba772016-07-06 05:59:23 -0700268
phoglund667bd072016-09-16 05:05:39 -0700269webrtc_fuzzer_test("turn_unwrap_fuzzer") {
270 sources = [
271 "turn_unwrap_fuzzer.cc",
272 ]
273 deps = [
274 "../../media:media",
275 ]
276}
katrielc1d4fefb2016-07-06 08:02:00 -0700277
henrik.lundin58466f62016-10-05 02:27:42 -0700278webrtc_fuzzer_test("neteq_rtp_fuzzer") {
mbonadei14b86d32017-04-24 08:44:14 -0700279 check_includes = false # TODO(mbonadei): see bugs.webrtc.org/7515
henrik.lundin58466f62016-10-05 02:27:42 -0700280 sources = [
281 "neteq_rtp_fuzzer.cc",
282 ]
283 deps = [
mbonadei14b86d32017-04-24 08:44:14 -0700284 # Removing rtc_base_tests_utils and neteq_unittest_tools from the dep list
285 # because they cause problems in chromium (chromium has rtc_include_tests
286 # set to false so these targets does not exist).
mbonadei6f276332017-04-19 02:58:33 -0700287 "../../base:rtc_base_approved",
mbonadei14b86d32017-04-24 08:44:14 -0700288
289 # "../../base:rtc_base_tests_utils",
henrik.lundin58466f62016-10-05 02:27:42 -0700290 "../../modules/audio_coding:neteq",
291 "../../modules/audio_coding:neteq_test_minimal",
mbonadei14b86d32017-04-24 08:44:14 -0700292
293 # "../../modules/audio_coding:neteq_unittest_tools",
henrik.lundin58466f62016-10-05 02:27:42 -0700294 "../../modules/audio_coding:pcm16b",
295 "../../modules/rtp_rtcp",
296 ]
297}
298
phoglund667bd072016-09-16 05:05:39 -0700299webrtc_fuzzer_test("sdp_parser_fuzzer") {
300 sources = [
301 "sdp_parser_fuzzer.cc",
302 ]
303 deps = [
ossu7bb87ee2017-01-23 04:56:25 -0800304 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700305 ]
306 seed_corpus = "corpora/sdp-corpus"
307}
katrielc1d4fefb2016-07-06 08:02:00 -0700308
phoglund667bd072016-09-16 05:05:39 -0700309webrtc_fuzzer_test("stun_parser_fuzzer") {
310 sources = [
311 "stun_parser_fuzzer.cc",
312 ]
313 deps = [
314 "../../p2p:rtc_p2p",
315 ]
316 seed_corpus = "corpora/stun-corpus"
317 dict = "corpora/stun.tokens"
318}
katrielc1d4fefb2016-07-06 08:02:00 -0700319
phoglund667bd072016-09-16 05:05:39 -0700320webrtc_fuzzer_test("stun_validator_fuzzer") {
321 sources = [
322 "stun_validator_fuzzer.cc",
323 ]
324 deps = [
325 "../../p2p:rtc_p2p",
326 ]
327 seed_corpus = "corpora/stun-corpus"
328 dict = "corpora/stun.tokens"
329}
katrielc44905cf2016-07-07 05:52:24 -0700330
phoglund667bd072016-09-16 05:05:39 -0700331webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
332 sources = [
333 "pseudotcp_parser_fuzzer.cc",
334 ]
335 deps = [
mbonadei6f276332017-04-19 02:58:33 -0700336 "../../base:rtc_base",
phoglund667bd072016-09-16 05:05:39 -0700337 "../../p2p:rtc_p2p",
338 ]
katrielc262ba772016-07-06 05:59:23 -0700339}
minyue435ddf92017-01-23 08:07:05 -0800340
341webrtc_fuzzer_test("transport_feedback_packet_loss_tracker_fuzzer") {
342 sources = [
343 "transport_feedback_packet_loss_tracker_fuzzer.cc",
344 ]
345 deps = [
mbonadei6f276332017-04-19 02:58:33 -0700346 "../../base:rtc_base_approved",
minyue435ddf92017-01-23 08:07:05 -0800347 "../../modules/rtp_rtcp",
348 "../../voice_engine",
349 ]
350}