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}
diff --git a/BUILD.gn b/BUILD.gn
index 7c8a0fc..e4af14f 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..1e26b8e 100644
--- a/test/fuzzers/BUILD.gn
+++ b/test/fuzzers/BUILD.gn
@@ -740,3 +740,70 @@
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_integration_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",
+ ]
+}