fuzz: Extend psbt fuzz target a bit #21606

pull MarcoFalke wants to merge 1 commits into bitcoin:master from MarcoFalke:2104-fuzzPsbt changing 1 files +20 −3
  1. MarcoFalke commented at 3:45 PM on April 5, 2021: member

    Previously it only merged the psbt with itself, now it tries to merge another.

  2. DrahtBot added the label Tests on Apr 5, 2021
  3. MarcoFalke commented at 6:27 PM on April 5, 2021: member

    Note this breaks the existing inputs' format, but can trivially be fixed:

    for f in ./psbt/*; do echo "$f" && sed -i 's|\\|\\\\|g' "$f"; done
    

    <!-- for f in ./temp_psbt/*; do echo "$f" && sed 's|\\|\\\\|g' "$f" > "${f}_d"; done for f in ./temp_psbt/*; do echo "$f" && ( ( cat "$f" && echo -n '\' && cat "$f" ) > "${f}_double" ); done

  4. MarcoFalke force-pushed on Apr 7, 2021
  5. MarcoFalke commented at 8:50 AM on April 7, 2021: member

    @practicalswift Thomas J, mind taking a look here? This only changes the fuzz target you added, so shouldn't be too hard to review.

  6. fuzz: Extend psbt fuzz target a bit faaf3954e2
  7. MarcoFalke force-pushed on Apr 9, 2021
  8. practicalswift commented at 3:41 PM on April 9, 2021: contributor

    @MarcoFalke Sure! Thanks for the ping!

    Tested ACK faaf3954e2f0089b6c6b9965f15e7f9af09c6fb0

    FWIW I believe the code paths that this PR adds coverage for is a subset of the code paths covered by the RPC fuzzer (see #21169). That is just an observation and not an argument against this PR.

    I think we should strive for covering our functions both 1.) from the "micro level" as in this case, and 2.) from the "macro level" as in the case of say the process_message, process_messages and rpc fuzzers.

    Why?

    1. The macro level harnesses are more constrained and the fuzzer will thus focus its finite resources on realistic code paths which may be problematic as the code is written today ("reachable" bugs).
    2. The micro level harnesses give the fuzzer permission to explore also code paths which are not exercised by current callers but may be exercised in the future by future callers (currently "unreachable" latent bugs).

    In other words: Strong Concept ACK for reaching into the PSBT code from both the micro level (this PR) and from the macro level (RPC fuzzer, see #21169) :)

  9. MarcoFalke merged this on Apr 9, 2021
  10. MarcoFalke closed this on Apr 9, 2021

  11. MarcoFalke deleted the branch on Apr 9, 2021
  12. sidhujag referenced this in commit db25b1d4e0 on Apr 9, 2021
  13. DrahtBot locked this on Aug 16, 2022
Labels

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-04-17 06:14 UTC

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