Reland "Include fuzzers to build by default"
This reverts commit 06391decf8397849f4c0dd9468612caa8f111185.
Reason for revert: [will] include change to address previous breakage
Original change's description:
> Revert "Include fuzzers to build by default"
>
> This reverts commit e777c656db6c20329529ff301805d77dba78e7c8.
>
> Reason for revert: Breaks bot: https://ci.chromium.org/ui/p/chromium/builders/try/linux-libfuzzer-asan-rel/1941368/overview
> Original change's description:
> > Include fuzzers to build by default
> >
> > Compilation errors in fuzzers are often overlooked when building locally
> > adding fuzzers (when configured) to build automatically helps to detect errors earlier.
> >
> > list of all fuzzers was generated with a command
> > gn ls out/Default "//test/fuzzers:*" | grep "fuzzer$" | sed 's/\/\/test\/fuzzers\(.*\)/"\1",/'
> >
> > Bug: webrtc:42223576
> > Change-Id: I6988e96f521a198657833e666428377d0851e1d4
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359762
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#42794}
>
> Bug: webrtc:42223576
> Change-Id: I273b96b1b48053a4895209710a8cabd652d9c61e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359881
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Owners-Override: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#42803}
Bug: webrtc:42223576
Change-Id: I43ec20dff79eba23b292b6d9096d9136ca59bfb9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359961
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42814}
diff --git a/BUILD.gn b/BUILD.gn
index 894ff71..64cd32a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -79,6 +79,9 @@
"video:sv_loopback",
"video:video_loopback",
]
+ if (use_libfuzzer) {
+ deps += [ "test/fuzzers" ]
+ }
if (!is_asan) {
# Do not build :webrtc_lib_link_test because lld complains on some OS
# (e.g. when target_os = "mac") when is_asan=true. For more details,
diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn
index 1f0abe3..4be5178 100644
--- a/test/fuzzers/BUILD.gn
+++ b/test/fuzzers/BUILD.gn
@@ -451,7 +451,7 @@
if (!build_with_chromium) {
# This target depends on test infrastructure that can't be built
# with Chromium at the moment.
- # TODO(bugs.chromium.org/12534): Make this fuzzer build in Chromium.
+ # TODO: bugs.webrtc.org/42222682 - Make this fuzzer build in Chromium.
webrtc_fuzzer_test("sdp_integration_fuzzer") {
sources = [ "sdp_integration_fuzzer.cc" ]
@@ -740,3 +740,74 @@
deps = [ "utils:rtp_replayer" ]
seed_corpus = "corpora/rtpdump-corpus/vp9"
}
+
+group("fuzzers") {
+ testonly = true
+ deps = [
+ ":aec3_config_json_fuzzer",
+ ":aec3_fuzzer",
+ ":agc_fuzzer",
+ ":audio_decoder_fuzzer",
+ ":audio_decoder_g722_fuzzer",
+ ":audio_decoder_ilbc_fuzzer",
+ ":audio_decoder_multiopus_fuzzer",
+ ":audio_decoder_opus_fuzzer",
+ ":audio_decoder_opus_redundant_fuzzer",
+ ":audio_decoder_pcm16b_fuzzer",
+ ":audio_decoder_pcm_fuzzer",
+ ":audio_encoder_fuzzer",
+ ":audio_encoder_opus_fuzzer",
+ ":audio_processing_fuzzer",
+ ":audio_processing_sample_rate_fuzzer",
+ ":comfort_noise_decoder_fuzzer",
+ ":dcsctp_socket_fuzzer",
+ ":field_trial_fuzzer",
+ ":flexfec_header_reader_fuzzer",
+ ":flexfec_receiver_fuzzer",
+ ":flexfec_sender_fuzzer",
+ ":forward_error_correction_fuzzer",
+ ":frame_buffer_fuzzer",
+ ":h264_bitstream_parser_fuzzer",
+ ":h264_depacketizer_fuzzer",
+ ":h265_bitstream_parser_fuzzer",
+ ":h265_depacketizer_fuzzer",
+ ":neteq_rtp_fuzzer",
+ ":neteq_signal_fuzzer",
+ ":pseudotcp_parser_fuzzer",
+ ":receive_side_congestion_controller_fuzzer",
+ ":residual_echo_detector_fuzzer",
+ ":rtcp_receiver_fuzzer",
+ ":rtp_depacketizer_av1_assemble_frame_fuzzer",
+ ":rtp_dependency_descriptor_fuzzer",
+ ":rtp_format_h264_fuzzer",
+ ":rtp_format_vp8_fuzzer",
+ ":rtp_format_vp9_fuzzer",
+ ":rtp_frame_reference_finder_fuzzer",
+ ":rtp_packet_fuzzer",
+ ":rtp_packetizer_av1_fuzzer",
+ ":rtp_video_frame_assembler_fuzzer",
+ ":rtp_video_layers_allocation_fuzzer",
+ ":sctp_utils_fuzzer",
+ ":sdp_parser_fuzzer",
+ ":ssl_certificate_fuzzer",
+ ":string_to_number_fuzzer",
+ ":stun_parser_fuzzer",
+ ":stun_validator_fuzzer",
+ ":turn_unwrap_fuzzer",
+ ":ulpfec_generator_fuzzer",
+ ":ulpfec_header_reader_fuzzer",
+ ":ulpfec_receiver_fuzzer",
+ ":vp8_depacketizer_fuzzer",
+ ":vp8_qp_parser_fuzzer",
+ ":vp8_replay_fuzzer",
+ ":vp9_depacketizer_fuzzer",
+ ":vp9_encoder_references_fuzzer",
+ ":vp9_qp_parser_fuzzer",
+ ":vp9_replay_fuzzer",
+ ]
+ if (!build_with_chromium) {
+ # TODO: bugs.webrtc.org/42222682 - Add unconditionally when this fuzzer
+ # builds in Chromium.
+ deps += [ ":sdp_integration_fuzzer" ]
+ }
+}