blob: 9bc87857c5a504365fdd8dbb7a5c868485255f33 [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 = [
kjellandere0629c02017-04-25 04:04:50 -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 = [
kjellandere0629c02017-04-25 04:04:50 -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 = [
kjellandere0629c02017-04-25 04:04:50 -0700104 "../../modules/rtp_rtcp",
105 "../../modules/rtp_rtcp:fec_test_helper",
brandtrcada34c2016-10-03 02:02:49 -0700106 ]
107}
108
brandtr869e7cd2016-10-31 05:27:07 -0700109webrtc_fuzzer_test("ulpfec_generator_fuzzer") {
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100110 sources = [
brandtr869e7cd2016-10-31 05:27:07 -0700111 "ulpfec_generator_fuzzer.cc",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100112 ]
113 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700114 "../../base:rtc_base_approved",
115 "../../modules/rtp_rtcp",
116 "../../modules/rtp_rtcp:fec_test_helper",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100117 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100118}
119
brandtre405d9b2016-10-18 01:18:04 -0700120webrtc_fuzzer_test("flexfec_receiver_fuzzer") {
121 sources = [
122 "flexfec_receiver_fuzzer.cc",
123 ]
124 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700125 "../../modules/rtp_rtcp",
brandtre405d9b2016-10-18 01:18:04 -0700126 ]
127 libfuzzer_options = [ "max_len=2000" ]
128}
129
philipelea142f82017-01-11 02:01:56 -0800130webrtc_fuzzer_test("packet_buffer_fuzzer") {
131 sources = [
132 "packet_buffer_fuzzer.cc",
133 ]
134 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700135 "../../modules/video_coding/",
philipelea142f82017-01-11 02:01:56 -0800136 ]
137 libfuzzer_options = [ "max_len=2000" ]
138}
139
Peter Boströmba3e25e2016-02-23 11:35:30 +0100140webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
141 sources = [
142 "rtcp_receiver_fuzzer.cc",
143 ]
144 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700145 "../../modules/rtp_rtcp",
Peter Boströmba3e25e2016-02-23 11:35:30 +0100146 ]
katrielcbddc94b2016-06-22 06:43:22 -0700147 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100148}
149
danilchap1edb7ab2016-04-20 05:25:10 -0700150webrtc_fuzzer_test("rtp_packet_fuzzer") {
151 sources = [
152 "rtp_packet_fuzzer.cc",
153 ]
154 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700155 "../../modules/rtp_rtcp",
danilchap1edb7ab2016-04-20 05:25:10 -0700156 ]
katrielcbddc94b2016-06-22 06:43:22 -0700157 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700158}
159
katrielcd4bcdad2016-06-23 03:50:39 -0700160webrtc_fuzzer_test("rtp_header_fuzzer") {
161 sources = [
162 "rtp_header_fuzzer.cc",
163 ]
164 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700165 "../../modules/rtp_rtcp",
katrielcd4bcdad2016-06-23 03:50:39 -0700166 ]
167}
168
stefanbded44b2016-07-18 09:26:06 -0700169webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
170 sources = [
171 "congestion_controller_feedback_fuzzer.cc",
172 ]
173 deps = [
skvladcc91d282016-10-03 18:31:22 -0700174 "../../logging:rtc_event_log_impl",
mbonadeib80ef8c2017-04-24 13:05:47 -0700175 "../../modules/congestion_controller/",
stefanbded44b2016-07-18 09:26:06 -0700176 ]
177}
178
kjellanderb62dbbe2016-09-23 00:38:52 -0700179rtc_static_library("audio_decoder_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100180 sources = [
181 "audio_decoder_fuzzer.cc",
182 "audio_decoder_fuzzer.h",
183 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100184}
185
Peter Boström78315b92015-12-15 21:57:52 +0100186webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100187 sources = [
188 "audio_decoder_ilbc_fuzzer.cc",
189 ]
190 deps = [
191 ":audio_decoder_fuzzer",
192 "../../modules/audio_coding:ilbc",
193 ]
194}
195
Peter Boström78315b92015-12-15 21:57:52 +0100196webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100197 sources = [
198 "audio_decoder_isac_fuzzer.cc",
199 ]
200 deps = [
201 ":audio_decoder_fuzzer",
202 "../../modules/audio_coding:isac",
203 ]
204}
205
henrik.lundinfd2be272016-02-09 00:00:23 -0800206webrtc_fuzzer_test("audio_decoder_isac_incoming_packet_fuzzer") {
207 sources = [
208 "audio_decoder_isac_incoming_packet_fuzzer.cc",
209 ]
210 deps = [
211 ":audio_decoder_fuzzer",
212 "../../modules/audio_coding:isac",
213 ]
214}
215
Peter Boström78315b92015-12-15 21:57:52 +0100216webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100217 sources = [
218 "audio_decoder_isacfix_fuzzer.cc",
219 ]
220 deps = [
221 ":audio_decoder_fuzzer",
222 "../../modules/audio_coding:isac_fix",
223 ]
224}
225
Peter Boström78315b92015-12-15 21:57:52 +0100226webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100227 sources = [
228 "audio_decoder_opus_fuzzer.cc",
229 ]
230 deps = [
231 ":audio_decoder_fuzzer",
232 "../../modules/audio_coding:webrtc_opus",
233 ]
234}
henrik.lundinfd2be272016-02-09 00:00:23 -0800235
236webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
237 sources = [
238 "audio_decoder_opus_redundant_fuzzer.cc",
239 ]
240 deps = [
241 ":audio_decoder_fuzzer",
242 "../../modules/audio_coding:webrtc_opus",
243 ]
244}
katrielc262ba772016-07-06 05:59:23 -0700245
phoglund667bd072016-09-16 05:05:39 -0700246webrtc_fuzzer_test("turn_unwrap_fuzzer") {
247 sources = [
248 "turn_unwrap_fuzzer.cc",
249 ]
250 deps = [
251 "../../media:media",
252 ]
253}
katrielc1d4fefb2016-07-06 08:02:00 -0700254
henrik.lundin58466f62016-10-05 02:27:42 -0700255webrtc_fuzzer_test("neteq_rtp_fuzzer") {
256 sources = [
257 "neteq_rtp_fuzzer.cc",
258 ]
259 deps = [
mbonadei70540852017-04-26 00:28:08 -0700260 "../../base:rtc_base_approved",
henrik.lundin58466f62016-10-05 02:27:42 -0700261 "../../modules/audio_coding:neteq_test_minimal",
mbonadei70540852017-04-26 00:28:08 -0700262 "../../modules/audio_coding:neteq_unittest_tools",
henrik.lundin58466f62016-10-05 02:27:42 -0700263 "../../modules/audio_coding:pcm16b",
264 "../../modules/rtp_rtcp",
265 ]
266}
267
phoglund667bd072016-09-16 05:05:39 -0700268webrtc_fuzzer_test("sdp_parser_fuzzer") {
269 sources = [
270 "sdp_parser_fuzzer.cc",
271 ]
272 deps = [
ossu7bb87ee2017-01-23 04:56:25 -0800273 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700274 ]
275 seed_corpus = "corpora/sdp-corpus"
276}
katrielc1d4fefb2016-07-06 08:02:00 -0700277
phoglund667bd072016-09-16 05:05:39 -0700278webrtc_fuzzer_test("stun_parser_fuzzer") {
279 sources = [
280 "stun_parser_fuzzer.cc",
281 ]
282 deps = [
283 "../../p2p:rtc_p2p",
284 ]
285 seed_corpus = "corpora/stun-corpus"
286 dict = "corpora/stun.tokens"
287}
katrielc1d4fefb2016-07-06 08:02:00 -0700288
phoglund667bd072016-09-16 05:05:39 -0700289webrtc_fuzzer_test("stun_validator_fuzzer") {
290 sources = [
291 "stun_validator_fuzzer.cc",
292 ]
293 deps = [
294 "../../p2p:rtc_p2p",
295 ]
296 seed_corpus = "corpora/stun-corpus"
297 dict = "corpora/stun.tokens"
298}
katrielc44905cf2016-07-07 05:52:24 -0700299
phoglund667bd072016-09-16 05:05:39 -0700300webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
301 sources = [
302 "pseudotcp_parser_fuzzer.cc",
303 ]
304 deps = [
305 "../../p2p:rtc_p2p",
306 ]
katrielc262ba772016-07-06 05:59:23 -0700307}
minyue435ddf92017-01-23 08:07:05 -0800308
309webrtc_fuzzer_test("transport_feedback_packet_loss_tracker_fuzzer") {
310 sources = [
311 "transport_feedback_packet_loss_tracker_fuzzer.cc",
312 ]
313 deps = [
314 "../../modules/rtp_rtcp",
315 "../../voice_engine",
316 ]
317}