blob: 141dcfe5149e34e5a1b58c18cf340edb7cafc35f [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
ehmaldonado38a21322016-09-02 04:10:34 -07009import("../../build/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 = [
85 "../../modules/rtp_rtcp/",
86 ]
87}
88
brandtr554becd2016-11-06 22:45:15 -080089webrtc_fuzzer_test("flexfec_sender_fuzzer") {
90 sources = [
91 "flexfec_sender_fuzzer.cc",
92 ]
93 deps = [
94 "../../modules/rtp_rtcp/",
95 ]
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 = [
104 "../../modules/rtp_rtcp/",
105 ]
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 = [
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100113 "../../modules/rtp_rtcp/",
114 ]
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 = [
122 "../../modules/rtp_rtcp/",
123 ]
124 libfuzzer_options = [ "max_len=2000" ]
125}
126
Peter Boströmba3e25e2016-02-23 11:35:30 +0100127webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
128 sources = [
129 "rtcp_receiver_fuzzer.cc",
130 ]
131 deps = [
132 "../../modules/rtp_rtcp/",
133 ]
katrielcbddc94b2016-06-22 06:43:22 -0700134 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100135}
136
danilchap1edb7ab2016-04-20 05:25:10 -0700137webrtc_fuzzer_test("rtp_packet_fuzzer") {
138 sources = [
139 "rtp_packet_fuzzer.cc",
140 ]
141 deps = [
142 "../../modules/rtp_rtcp/",
143 ]
katrielcbddc94b2016-06-22 06:43:22 -0700144 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700145}
146
katrielcd4bcdad2016-06-23 03:50:39 -0700147webrtc_fuzzer_test("rtp_header_fuzzer") {
148 sources = [
149 "rtp_header_fuzzer.cc",
150 ]
151 deps = [
152 "../../modules/rtp_rtcp/",
153 ]
154}
155
stefanbded44b2016-07-18 09:26:06 -0700156webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
157 sources = [
158 "congestion_controller_feedback_fuzzer.cc",
159 ]
160 deps = [
skvladcc91d282016-10-03 18:31:22 -0700161 "../../logging:rtc_event_log_impl",
stefanbded44b2016-07-18 09:26:06 -0700162 "../../modules/congestion_controller/",
163 ]
164}
165
kjellanderb62dbbe2016-09-23 00:38:52 -0700166rtc_static_library("audio_decoder_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100167 sources = [
168 "audio_decoder_fuzzer.cc",
169 "audio_decoder_fuzzer.h",
170 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100171}
172
Peter Boström78315b92015-12-15 21:57:52 +0100173webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100174 sources = [
175 "audio_decoder_ilbc_fuzzer.cc",
176 ]
177 deps = [
178 ":audio_decoder_fuzzer",
179 "../../modules/audio_coding:ilbc",
180 ]
181}
182
Peter Boström78315b92015-12-15 21:57:52 +0100183webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100184 sources = [
185 "audio_decoder_isac_fuzzer.cc",
186 ]
187 deps = [
188 ":audio_decoder_fuzzer",
189 "../../modules/audio_coding:isac",
190 ]
191}
192
henrik.lundinfd2be272016-02-09 00:00:23 -0800193webrtc_fuzzer_test("audio_decoder_isac_incoming_packet_fuzzer") {
194 sources = [
195 "audio_decoder_isac_incoming_packet_fuzzer.cc",
196 ]
197 deps = [
198 ":audio_decoder_fuzzer",
199 "../../modules/audio_coding:isac",
200 ]
201}
202
Peter Boström78315b92015-12-15 21:57:52 +0100203webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100204 sources = [
205 "audio_decoder_isacfix_fuzzer.cc",
206 ]
207 deps = [
208 ":audio_decoder_fuzzer",
209 "../../modules/audio_coding:isac_fix",
210 ]
211}
212
Peter Boström78315b92015-12-15 21:57:52 +0100213webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100214 sources = [
215 "audio_decoder_opus_fuzzer.cc",
216 ]
217 deps = [
218 ":audio_decoder_fuzzer",
219 "../../modules/audio_coding:webrtc_opus",
220 ]
221}
henrik.lundinfd2be272016-02-09 00:00:23 -0800222
223webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
224 sources = [
225 "audio_decoder_opus_redundant_fuzzer.cc",
226 ]
227 deps = [
228 ":audio_decoder_fuzzer",
229 "../../modules/audio_coding:webrtc_opus",
230 ]
231}
katrielc262ba772016-07-06 05:59:23 -0700232
phoglund667bd072016-09-16 05:05:39 -0700233webrtc_fuzzer_test("turn_unwrap_fuzzer") {
234 sources = [
235 "turn_unwrap_fuzzer.cc",
236 ]
237 deps = [
238 "../../media:media",
239 ]
240}
katrielc1d4fefb2016-07-06 08:02:00 -0700241
henrik.lundin58466f62016-10-05 02:27:42 -0700242webrtc_fuzzer_test("neteq_rtp_fuzzer") {
243 sources = [
244 "neteq_rtp_fuzzer.cc",
245 ]
246 deps = [
247 "../../modules/audio_coding:neteq",
248 "../../modules/audio_coding:neteq_test_minimal",
249 "../../modules/audio_coding:pcm16b",
250 "../../modules/rtp_rtcp",
251 ]
252}
253
phoglund667bd072016-09-16 05:05:39 -0700254webrtc_fuzzer_test("sdp_parser_fuzzer") {
255 sources = [
256 "sdp_parser_fuzzer.cc",
257 ]
258 deps = [
259 "../../api:libjingle_peerconnection",
260 ]
261 seed_corpus = "corpora/sdp-corpus"
262}
katrielc1d4fefb2016-07-06 08:02:00 -0700263
phoglund667bd072016-09-16 05:05:39 -0700264webrtc_fuzzer_test("stun_parser_fuzzer") {
265 sources = [
266 "stun_parser_fuzzer.cc",
267 ]
268 deps = [
269 "../../p2p:rtc_p2p",
270 ]
271 seed_corpus = "corpora/stun-corpus"
272 dict = "corpora/stun.tokens"
273}
katrielc1d4fefb2016-07-06 08:02:00 -0700274
phoglund667bd072016-09-16 05:05:39 -0700275webrtc_fuzzer_test("stun_validator_fuzzer") {
276 sources = [
277 "stun_validator_fuzzer.cc",
278 ]
279 deps = [
280 "../../p2p:rtc_p2p",
281 ]
282 seed_corpus = "corpora/stun-corpus"
283 dict = "corpora/stun.tokens"
284}
katrielc44905cf2016-07-07 05:52:24 -0700285
phoglund667bd072016-09-16 05:05:39 -0700286webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
287 sources = [
288 "pseudotcp_parser_fuzzer.cc",
289 ]
290 deps = [
291 "../../p2p:rtc_p2p",
292 ]
katrielc262ba772016-07-06 05:59:23 -0700293}