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. frankomosh marked this as ready for review on Oct 3, 2025
  3. 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.
  4. 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 ?

  5. 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)?

  6. 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.

  7. frankomosh force-pushed on Oct 8, 2025
  8. frankomosh force-pushed on Oct 8, 2025
  9. 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

  10. frankomosh renamed this:
    doc: add coverage instrumentation hint to libFuzzer quickstart
    doc: reference fuzz coverage steps in quick-start
    on Oct 30, 2025
  11. 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

  12. 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:

    0For 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.
  13. dergoegge commented at 3:38 pm on November 7, 2025: member
    Concept ACK - Seems reasonable to mention this in the actual fuzzing docs.
  14. marcofleon commented at 6:24 pm on November 7, 2025: contributor
    Concept ACK
  15. doc: mention coverage build in quickstart section
    Points a reader to Developer Notes which explains to compile with llvm source based coverage instrumentation
    dee7eec643
  16. frankomosh force-pushed on Nov 10, 2025
  17. 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.

  18. dergoegge approved
  19. dergoegge commented at 10:11 am on November 10, 2025: member
    ACK dee7eec64389aa48daff6f7f3ecbd931af72050a
  20. fanquake merged this on Nov 10, 2025
  21. fanquake closed this on Nov 10, 2025

  22. frankomosh deleted the branch on Nov 10, 2025

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: 2025-11-23 21:13 UTC

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