blob: 74ea607ae256252ffd169ac992d164effbd37f51 [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 = [
260 "../../modules/audio_coding:neteq",
261 "../../modules/audio_coding:neteq_test_minimal",
262 "../../modules/audio_coding:pcm16b",
263 "../../modules/rtp_rtcp",
264 ]
265}
266
phoglund667bd072016-09-16 05:05:39 -0700267webrtc_fuzzer_test("sdp_parser_fuzzer") {
268 sources = [
269 "sdp_parser_fuzzer.cc",
270 ]
271 deps = [
ossu7bb87ee2017-01-23 04:56:25 -0800272 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700273 ]
274 seed_corpus = "corpora/sdp-corpus"
275}
katrielc1d4fefb2016-07-06 08:02:00 -0700276
phoglund667bd072016-09-16 05:05:39 -0700277webrtc_fuzzer_test("stun_parser_fuzzer") {
278 sources = [
279 "stun_parser_fuzzer.cc",
280 ]
281 deps = [
282 "../../p2p:rtc_p2p",
283 ]
284 seed_corpus = "corpora/stun-corpus"
285 dict = "corpora/stun.tokens"
286}
katrielc1d4fefb2016-07-06 08:02:00 -0700287
phoglund667bd072016-09-16 05:05:39 -0700288webrtc_fuzzer_test("stun_validator_fuzzer") {
289 sources = [
290 "stun_validator_fuzzer.cc",
291 ]
292 deps = [
293 "../../p2p:rtc_p2p",
294 ]
295 seed_corpus = "corpora/stun-corpus"
296 dict = "corpora/stun.tokens"
297}
katrielc44905cf2016-07-07 05:52:24 -0700298
phoglund667bd072016-09-16 05:05:39 -0700299webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
300 sources = [
301 "pseudotcp_parser_fuzzer.cc",
302 ]
303 deps = [
304 "../../p2p:rtc_p2p",
305 ]
katrielc262ba772016-07-06 05:59:23 -0700306}
minyue435ddf92017-01-23 08:07:05 -0800307
308webrtc_fuzzer_test("transport_feedback_packet_loss_tracker_fuzzer") {
309 sources = [
310 "transport_feedback_packet_loss_tracker_fuzzer.cc",
311 ]
312 deps = [
313 "../../modules/rtp_rtcp",
314 "../../voice_engine",
315 ]
316}