Skip to content

Conversation

practicalswift
Copy link
Contributor

@practicalswift practicalswift commented Oct 23, 2019

Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible.

@fanquake fanquake added the Tests label Oct 23, 2019
@DrahtBot
Copy link
Contributor

DrahtBot commented Oct 23, 2019

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #17071 (tests: Add fuzzing harness for CheckBlock(...) and other CBlock related functions by practicalswift)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@practicalswift
Copy link
Contributor Author

@MarcoFalke If possible it would be nice to get the serialization fuzzing PR:s #17225 and #17051 in so that the currently under review PR #10785 ("Serialization improvements") can be easily fuzz tested :)

@practicalswift
Copy link
Contributor Author

Rebased!

@practicalswift practicalswift force-pushed the fuzzers-deserialize-with-roundtrip branch from 6a26dc6 to be0f56b Compare October 30, 2019 21:17
@practicalswift practicalswift force-pushed the fuzzers-deserialize-with-roundtrip branch from be0f56b to e883edc Compare November 21, 2019 17:54
@practicalswift
Copy link
Contributor Author

Rebased! :)

@practicalswift
Copy link
Contributor Author

@MarcoFalke Can we move forward with this one? The current deserialization/serialization fuzzing is really lacking so this PR should be a clear improvement. I'm afraid bugs might sneak in unnecessarily if we don't improve our fuzz testing :)

…und-trip equality where possible. Avoid code repetition.
@practicalswift practicalswift force-pushed the fuzzers-deserialize-with-roundtrip branch from e883edc to 709afb2 Compare December 6, 2019 09:17
@practicalswift
Copy link
Contributor Author

Rebased! :)

@maflcko
Copy link
Member

maflcko commented Dec 9, 2019

ACK 709afb2 🍲

Show signature and timestamp

Signature:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

ACK 709afb2a7de283a9188e7df51476830012e0a4e5 🍲
-----BEGIN PGP SIGNATURE-----

iQGzBAEBCgAdFiEE+rVPoUahrI9sLGYTzit1aX5ppUgFAlwqrYAACgkQzit1aX5p
pUiRVAv9H5qQWzA2afXR5AbtSkKESM0ou1s8zx75A1qmnTCjkbR2c1zs9uuzqfil
oP5XQeUTdr7PjM4Y5P3X5dzdxPuUH0UZlGKRgnPHBWaUpUhGvUb6cD1QeZmE005V
Pc1iQoh7gE9e/4iMVm7zLb+dtJdvVKqCo7+SyOKIw5CUeu7sZWA2OrCzUNBxSUnY
l1/ZlX1EEvUM2rWxeCGRfbwCc6bCp+Yxww5GasYwWmMsUM9wPX3jOxRtzXUcfTTc
P4gSG0nJcIw5UhEWrIy4tf9gSjP8GMuclQDlr145zSLG3DMSey/tbM4IJSPX0/y6
LhS63+wCjqTi5ADAmAimyMnDmWU7032J6xHwRMrD8CF4dxlV52iIMWjBy1aXE96y
9NziQDsvFcpSExLW1uOeQPrTzKGjcT/GCwSxY2ubpgI2jPC8EseCp6nTNLN83fB9
/rot9gRkyu1Zj5ZYpLSdoJAzJIvTuZtM7vvhwhMJfA7KiGULxQw0x+Scxxg3UIOg
P6BI7HPL
=5M6D
-----END PGP SIGNATURE-----

Timestamp of file with hash 0deb42754ef31a2d35b98c6ac2df5a98f164c3d19f4bd40e6255e095b85c4aec -

maflcko pushed a commit that referenced this pull request Dec 9, 2019
…zzing. Test round-trip equality where possible.

709afb2 tests: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible. Avoid code repetition. (practicalswift)

Pull request description:

  Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible.

ACKs for top commit:
  MarcoFalke:
    ACK 709afb2 🍲

Tree-SHA512: b8c9c24538ee516607608ac685d2e9b01eca5c15213def3fd096b16516db84bfd45516fbee43e25b28cb3481a5d4ec3f7a34713e2da35b2902081ed42b85224d
@maflcko maflcko merged commit 709afb2 into bitcoin:master Dec 9, 2019
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Dec 9, 2019
…tion fuzzing. Test round-trip equality where possible.

709afb2 tests: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible. Avoid code repetition. (practicalswift)

Pull request description:

  Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible.

ACKs for top commit:
  MarcoFalke:
    ACK 709afb2 🍲

Tree-SHA512: b8c9c24538ee516607608ac685d2e9b01eca5c15213def3fd096b16516db84bfd45516fbee43e25b28cb3481a5d4ec3f7a34713e2da35b2902081ed42b85224d
jasonbcox pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request Nov 6, 2020
…und-trip equality where possible. Avoid code repetition.

Summary: This is a backport of Core [[bitcoin/bitcoin#17225 | PR17225]]

Test Plan:
```
cmake -GNinja .. -DENABLE_SANITIZERS="address;fuzzer" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
ninja fuzz-addrman_deserialize
src/test/fuzz/addrman_deserialize
```

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D8305
sidhujag pushed a commit to syscoin-core/syscoin that referenced this pull request Nov 10, 2020
…tion fuzzing. Test round-trip equality where possible.

709afb2 tests: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible. Avoid code repetition. (practicalswift)

Pull request description:

  Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible.

ACKs for top commit:
  MarcoFalke:
    ACK 709afb2 🍲

Tree-SHA512: b8c9c24538ee516607608ac685d2e9b01eca5c15213def3fd096b16516db84bfd45516fbee43e25b28cb3481a5d4ec3f7a34713e2da35b2902081ed42b85224d
@practicalswift practicalswift deleted the fuzzers-deserialize-with-roundtrip branch April 10, 2021 19:39
random-zebra added a commit to PIVX-Project/PIVX that referenced this pull request May 28, 2021
d059544 [Build] fuzz target, change LIBBITCOIN_ZEROCOIN link order. (furszy)
2396e6b [fuzz] Add ContextualCheckTransaction call to transaction target. (furszy)
f0887a0 Fuzzing documentation "PIVX-fication" (furszy)
9631f46 [doc] add sanitizers documentation in developer-notes.md (furszy)
70a0ace tests: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible. Avoid code repetition. (practicalswift)
e1b92b6 ignore new fuzz targets gitignore (furszy)
d058d8c tests: Add deserialization fuzzing harnesses (furszy)
e1f666c tests: Remove TRANSACTION_DESERIALIZE (replaced by transaction fuzzer) (practicalswift)
b5f291c tests: Add fuzzing harness for CheckTransaction(...), IsStandardTx(...) and other CTransaction related functions (furszy)
3205871 fuzz: Remove option --export_coverage from test_runner (MarcoFalke)
52693ee fuzz: Add option to merge input dir to test runner (MarcoFalke)
2b4f8aa doc: Remove --disable-ccache from docs (MarcoFalke)
b54b1d6 tests: Improve test runner output in case of target errors (practicalswift)
cd6134f test: Log output even if fuzzer failed (MarcoFalke)
48cd0c8 doc: Improve fuzzing docs for macOS users (Fabian Jahr)
d642b67 [Build] Do not disable wallet when fuzz is enabled. (furszy)
c3447b5 Update doc and CI config (qmma)
1266d3e Disable other targets when enable-fuzz is set (qmma)
f28ac9a build: Allow to configure --with-sanitizers=fuzzer (MarcoFalke)
425742c fuzz: test_runner: Better error message when built with afl (MarcoFalke)
541f442 qa: Add test/fuzz/test_runner.py (MarcoFalke)
89fe5b2 Add missing LIBBITCOIN_ZMQ to test target (furszy)
58dbe79 add fuzzing binaries to gitignore. (furszy)
393a126 fuzz: Move deserialize tests to test/fuzz/deserialize.cpp (MarcoFalke)
a568df5 test: Build fuzz targets into separate executables (furszy)
d5dddde [test] fuzz: make test_one_input return void (MarcoFalke)
2e4ec58 [fuzzing] initialize chain params by default. (furszy)
08d8ebe [tests] Add libFuzzer support. (practicalswift)
84f72da [test] Speed up fuzzing by ~200x when using afl-fuzz (practicalswift)
faf2be6 Init ECC context for test_bitcoin_fuzzy. (Gregory Maxwell)
11150df Make fuzzer actually test CTxOutCompressor (Pieter Wuille)
d6f6a85 doc: Add bare-bones documentation for fuzzing (Wladimir J. van der Laan)
5c3b550 Simple fuzzing framework (pstratem)

Pull request description:

  As the title says, adding fuzzing framework support so we can start getting serious on this area as well.

  Adapted the following PRs:

  * bitcoin#9172.
  * bitcoin#9354.
  * bitcoin#9691.
  * bitcoin#10415.
  * bitcoin#10440.
  * bitcoin#15043.
  * bitcoin#15047.
  * bitcoin#15295.
  * bitcoin#15399 (fabcfa5 only).
  * bitcoin#16338.
  * bitcoin#17051.
  * bitcoin#17076.
  * bitcoin#17225.
  * bitcoin#17942.
  * bitcoin#16236 (only fa35c42).
  * bitcoin#18166 (only f2472f6).
  * bitcoin#18300.
  * And.. probably will go further and continue adapting more PRs..

ACKs for top commit:
  random-zebra:
    utACK d059544 and merging...

Tree-SHA512: c0b05bca47bf99bafd8abf1453c5636fe05df75f16d0e9c750368ea2aed8142f0b28d28af1d23468b8829188412a80fd3b7bdbbda294b940d78aec80c1c7d03a
kwvg added a commit to kwvg/dash that referenced this pull request Aug 2, 2021
kwvg added a commit to kwvg/dash that referenced this pull request Aug 5, 2021
kwvg added a commit to kwvg/dash that referenced this pull request Aug 5, 2021
kwvg added a commit to kwvg/dash that referenced this pull request Aug 5, 2021
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Aug 6, 2021
kwvg added a commit to kwvg/dash that referenced this pull request Aug 8, 2021
kwvg added a commit to kwvg/dash that referenced this pull request Aug 11, 2021
5tefan pushed a commit to 5tefan/dash that referenced this pull request Aug 12, 2021
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants