doc: reference fuzz coverage steps in quick-start #33536

pull frankomosh wants to merge 1 commits into bitcoin:master from frankomosh:libfuzzer-cov-doc changing 1 files +2 −0
  1. frankomosh commented at 3:57 PM on October 3, 2025: contributor

    Adds a single comment in the libFuzzer quick-start that links to the Developer Notes coverage section. No build flags are changed or shown.

  2. DrahtBot added the label Docs on Oct 3, 2025
  3. DrahtBot commented at 3:57 PM on October 3, 2025: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33536.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK janb84, dergoegge
    Concept ACK marcofleon

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. frankomosh marked this as ready for review on Oct 3, 2025
  5. janb84 commented at 9:47 AM on October 6, 2025: contributor

    NACK Developer notes already has an extensive section on generating coverage. Maintaining the same documentation in 2 places is not ideal.

  6. in doc/fuzzing.md:27 in 32c0e56c0a
      20 | @@ -21,6 +21,15 @@ See [further](#run-without-sanitizers-for-increased-throughput) for more informa
      21 |  There is also a runner script to execute all fuzz targets. Refer to
      22 |  `./build_fuzz/test/fuzz/test_runner.py --help` for more details.
      23 |  
      24 | +If you also want source-based coverage reports, append the instrumentation flags to `cmake --preset=libfuzzer`:
      25 | +
      26 | +```sh
      27 | +$ cmake --preset=libfuzzer \
    


    maflcko commented at 9:54 AM on October 6, 2025:

    not sure about recommending libfuzzer here. It has issues properly counting runs, so coverage will be off. See also https://github.com/bitcoin/bitcoin/blob/a33bd767a37dccf39a094d03c2f62ea81633410f/contrib/devtools/deterministic-fuzz-coverage/src/main.rs#L111-L115


    frankomosh commented at 10:33 AM on October 6, 2025:

    thanks. wasn't aware of the run counting issues with LibFuzzer.

    So I guess the best approach is to build without the fuzzer sanitizer ?

  7. frankomosh commented at 10:34 AM on October 6, 2025: contributor

    NACK Developer notes already has an extensive section on generating coverage. Maintaining the same documentation in 2 places is not ideal.

    ok . Would you atleast like to see a reference to the developer notes in this section(assume for someone who lands here first)?

  8. janb84 commented at 12:03 PM on October 6, 2025: contributor

    NACK Developer notes already has an extensive section on generating coverage. Maintaining the same documentation in 2 places is not ideal.

    ok . Would you atleast like to see a reference to the developer notes in this section(assume for someone who lands here first)?

    That would be better, imho (although the correct way would be to first read the contributing guide as a developer), but i can understand that one interested in fuzzing would only read the fuzzing readme before the contributing.md.

  9. frankomosh force-pushed on Oct 8, 2025
  10. frankomosh force-pushed on Oct 8, 2025
  11. fanquake commented at 1:48 PM on October 30, 2025: member

    @frankomosh the PR description needs updating to reflect the current change?

    cc @dergoegge @marcofleon

  12. frankomosh renamed this:
    doc: add coverage instrumentation hint to libFuzzer quickstart
    doc: reference fuzz coverage steps in quick-start
    on Oct 30, 2025
  13. frankomosh commented at 6:11 PM on October 30, 2025: contributor

    @frankomosh the PR description needs updating to reflect the current change?

    cc @dergoegge @marcofleon

    yeah indeed

  14. in doc/fuzzing.md:24 in df1815e319
      20 | @@ -21,6 +21,8 @@ See [further](#run-without-sanitizers-for-increased-throughput) for more informa
      21 |  There is also a runner script to execute all fuzz targets. Refer to
      22 |  `./build_fuzz/test/fuzz/test_runner.py --help` for more details.
      23 |  
      24 | +For source-based `coverage reports`, see [Developer notes](https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#compiling-for-fuzz-coverage).
    


    dergoegge commented at 3:35 PM on November 7, 2025:

    nit:

    For source-based `coverage reports`, see [developer notes](/doc/developer-notes.md#compiling-for-fuzz-coverage).
    

    marcofleon commented at 6:21 PM on November 7, 2025:

    nit: Not sure if "coverage reports" needs the backticks here?


    frankomosh commented at 3:59 AM on November 10, 2025:

    done. Thanks


    frankomosh commented at 4:01 AM on November 10, 2025:

    I don't think they are super helpful. I just removed them in the new commit.

  15. dergoegge commented at 3:38 PM on November 7, 2025: member

    Concept ACK - Seems reasonable to mention this in the actual fuzzing docs.

  16. marcofleon commented at 6:24 PM on November 7, 2025: contributor

    Concept ACK

  17. doc: mention coverage build in quickstart section
    Points a reader to Developer Notes which explains to compile with llvm source based coverage instrumentation
    dee7eec643
  18. frankomosh force-pushed on Nov 10, 2025
  19. janb84 commented at 9:49 AM on November 10, 2025: contributor

    ACK dee7eec64389aa48daff6f7f3ecbd931af72050a

    The author removed the duplicate and redundant code coverage instructions which made me disagree with this PR. The author now only references that there are instructions on generating code coverage for fuzzing elsewhere in the documentation, which seems to me as a reasonable thing and good addition.

    Thank you for changing this.

  20. DrahtBot requested review from dergoegge on Nov 10, 2025
  21. DrahtBot requested review from marcofleon on Nov 10, 2025
  22. dergoegge approved
  23. dergoegge commented at 10:11 AM on November 10, 2025: member

    ACK dee7eec64389aa48daff6f7f3ecbd931af72050a

  24. fanquake merged this on Nov 10, 2025
  25. fanquake closed this on Nov 10, 2025

  26. frankomosh deleted the branch on Nov 10, 2025
  27. sedited referenced this in commit 94f024ad07 on Nov 11, 2025
  28. yuvicc referenced this in commit f620a2206b on Nov 16, 2025
  29. stringintech referenced this in commit 52fffa1e5d on Nov 24, 2025
  30. stickies-v referenced this in commit 9fa736f8e4 on Jan 22, 2026
  31. Kino1994 referenced this in commit 61a81ede32 on Jun 28, 2026
  32. BigcoinBGC referenced this in commit ae174245da on Jun 30, 2026
  33. Kino1994 referenced this in commit 46667e207d on Aug 19, 2026
  34. bitcoin locked this on Nov 10, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-11-10 20:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me