blob: 9179d05cc50f0e76c4a94f161d3a9a8e8f29e576 [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
9import("//build/config/features.gni")
katrielc262ba772016-07-06 05:59:23 -070010import("//build_overrides/webrtc.gni")
katrielc839315b2016-06-20 06:03:39 -070011import("//testing/libfuzzer/fuzzer_test.gni")
katrielc262ba772016-07-06 05:59:23 -070012import("//testing/test.gni")
Peter Boström62e9bda2015-11-23 15:12:06 +010013
14static_library("webrtc_fuzzer_main") {
Henrik Lundinfe32a762015-12-08 11:27:27 +010015 public_configs = [ "../..:common_inherited_config" ]
Peter Boström62e9bda2015-11-23 15:12:06 +010016 sources = [
17 "webrtc_fuzzer_main.cc",
18 ]
19 deps = [
Peter Boström89d658f2015-11-25 21:58:36 +010020 "../../system_wrappers:field_trial_default",
Peter Boström871c4192015-11-26 14:52:23 +010021 "../../system_wrappers:metrics_default",
Peter Boström62e9bda2015-11-23 15:12:06 +010022 "//testing/libfuzzer:libfuzzer_main",
23 ]
24}
25
katrielc839315b2016-06-20 06:03:39 -070026template("webrtc_fuzzer_test") {
27 fuzzer_test(target_name) {
28 forward_variables_from(invoker, "*")
29 deps += [ ":webrtc_fuzzer_main" ]
30 if (is_clang) {
31 # Suppress warnings from Chrome's Clang plugins.
32 # See http://code.google.com/p/webrtc/issues/detail?id=163 for details
33 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ]
34 }
35 }
36}
37
Peter Boström1e0cfd92015-12-17 14:28:16 +010038webrtc_fuzzer_test("h264_depacketizer_fuzzer") {
39 sources = [
40 "h264_depacketizer_fuzzer.cc",
41 ]
42 deps = [
43 "../../modules/rtp_rtcp",
44 ]
45}
46
47webrtc_fuzzer_test("vp8_depacketizer_fuzzer") {
48 sources = [
49 "vp8_depacketizer_fuzzer.cc",
50 ]
51 deps = [
52 "../../modules/rtp_rtcp",
53 ]
54}
55
Peter Boström78315b92015-12-15 21:57:52 +010056webrtc_fuzzer_test("vp9_depacketizer_fuzzer") {
Peter Boström62e9bda2015-11-23 15:12:06 +010057 sources = [
58 "vp9_depacketizer_fuzzer.cc",
59 ]
60 deps = [
Peter Boström62e9bda2015-11-23 15:12:06 +010061 "../../modules/rtp_rtcp",
62 ]
Peter Boström62e9bda2015-11-23 15:12:06 +010063}
Peter Boström871c4192015-11-26 14:52:23 +010064
Peter Boström78315b92015-12-15 21:57:52 +010065webrtc_fuzzer_test("vp8_qp_parser_fuzzer") {
Peter Boström871c4192015-11-26 14:52:23 +010066 sources = [
67 "vp8_qp_parser_fuzzer.cc",
68 ]
69 deps = [
Peter Boström871c4192015-11-26 14:52:23 +010070 "../../modules/video_coding/",
71 ]
Peter Boström871c4192015-11-26 14:52:23 +010072}
Henrik Lundinfe32a762015-12-08 11:27:27 +010073
Peter Boström78315b92015-12-15 21:57:52 +010074webrtc_fuzzer_test("producer_fec_fuzzer") {
Stefan Holmer4c1093b2015-12-11 18:25:45 +010075 sources = [
76 "producer_fec_fuzzer.cc",
77 ]
78 deps = [
Stefan Holmer4c1093b2015-12-11 18:25:45 +010079 "../../modules/rtp_rtcp/",
80 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +010081}
82
Peter Boströmba3e25e2016-02-23 11:35:30 +010083webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
84 sources = [
85 "rtcp_receiver_fuzzer.cc",
86 ]
87 deps = [
88 "../../modules/rtp_rtcp/",
89 ]
katrielcbddc94b2016-06-22 06:43:22 -070090 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +010091}
92
danilchap1edb7ab2016-04-20 05:25:10 -070093webrtc_fuzzer_test("rtp_packet_fuzzer") {
94 sources = [
95 "rtp_packet_fuzzer.cc",
96 ]
97 deps = [
98 "../../modules/rtp_rtcp/",
99 ]
katrielcbddc94b2016-06-22 06:43:22 -0700100 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700101}
102
katrielcd4bcdad2016-06-23 03:50:39 -0700103webrtc_fuzzer_test("rtp_header_fuzzer") {
104 sources = [
105 "rtp_header_fuzzer.cc",
106 ]
107 deps = [
108 "../../modules/rtp_rtcp/",
109 ]
110}
111
Henrik Lundinfe32a762015-12-08 11:27:27 +0100112source_set("audio_decoder_fuzzer") {
Peter Boström78315b92015-12-15 21:57:52 +0100113 public_configs = [ "../..:common_inherited_config" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100114 sources = [
115 "audio_decoder_fuzzer.cc",
116 "audio_decoder_fuzzer.h",
117 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100118}
119
Peter Boström78315b92015-12-15 21:57:52 +0100120webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100121 sources = [
122 "audio_decoder_ilbc_fuzzer.cc",
123 ]
124 deps = [
125 ":audio_decoder_fuzzer",
126 "../../modules/audio_coding:ilbc",
127 ]
128}
129
Peter Boström78315b92015-12-15 21:57:52 +0100130webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100131 sources = [
132 "audio_decoder_isac_fuzzer.cc",
133 ]
134 deps = [
135 ":audio_decoder_fuzzer",
136 "../../modules/audio_coding:isac",
137 ]
138}
139
henrik.lundinfd2be272016-02-09 00:00:23 -0800140webrtc_fuzzer_test("audio_decoder_isac_incoming_packet_fuzzer") {
141 sources = [
142 "audio_decoder_isac_incoming_packet_fuzzer.cc",
143 ]
144 deps = [
145 ":audio_decoder_fuzzer",
146 "../../modules/audio_coding:isac",
147 ]
148}
149
Peter Boström78315b92015-12-15 21:57:52 +0100150webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100151 sources = [
152 "audio_decoder_isacfix_fuzzer.cc",
153 ]
154 deps = [
155 ":audio_decoder_fuzzer",
156 "../../modules/audio_coding:isac_fix",
157 ]
158}
159
Peter Boström78315b92015-12-15 21:57:52 +0100160webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100161 sources = [
162 "audio_decoder_opus_fuzzer.cc",
163 ]
164 deps = [
165 ":audio_decoder_fuzzer",
166 "../../modules/audio_coding:webrtc_opus",
167 ]
168}
henrik.lundinfd2be272016-02-09 00:00:23 -0800169
170webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
171 sources = [
172 "audio_decoder_opus_redundant_fuzzer.cc",
173 ]
174 deps = [
175 ":audio_decoder_fuzzer",
176 "../../modules/audio_coding:webrtc_opus",
177 ]
178}
katrielc262ba772016-07-06 05:59:23 -0700179
180# TODO(katrielc) Enable in Chromium when CL 2022833002 lands.
181# Although the dependency on media compiles in standalone, it is
182# flagged by gn check, so breaks when rolled into Chromium.
183if (!build_with_chromium) {
184 webrtc_fuzzer_test("turn_unwrap_fuzzer") {
185 sources = [
186 "turn_unwrap_fuzzer.cc",
187 ]
188 deps = [
189 "../../media:media",
190 ]
191 }
192}