From e777c656db6c20329529ff301805d77dba78e7c8 Mon Sep 17 00:00:00 2001 From: Danil Chapovalov Date: Fri, 16 Aug 2024 14:18:29 +0200 Subject: [PATCH] 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 Commit-Queue: Danil Chapovalov Cr-Commit-Position: refs/heads/main@{#42794} --- BUILD.gn | 3 ++ test/fuzzers/BUILD.gn | 67 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/BUILD.gn b/BUILD.gn index 7c8a0fcb1e..e4af14f296 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -79,6 +79,9 @@ if (!build_with_chromium) { "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 1f0abe356a..1e26b8ea5c 100644 --- a/test/fuzzers/BUILD.gn +++ b/test/fuzzers/BUILD.gn @@ -740,3 +740,70 @@ webrtc_fuzzer_test("vp9_replay_fuzzer") { 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", + ] +}