Plan: Bitswap Fuzz
- Dominant language
- Go
- Stars
- 17.1k
- Forks
- 3.2k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 11
Description
We should write a bitswap fuzzing test plan.
It should:
* Have at least 50 nodes (ideally 100s).
* All peers serving/asking for blocks.
* Randomly canceling requests.
* Randomly re-starting requests after canceling them.
* Canceling blocks within sessions but not the entire session.
* Asking for blocks from multiple sessions, canceling some requests, etc.
* Randomly killing connections.
* Randomly restarting peers.
* Randomly delaying reads from the blockstore (i.e., delay sending a block and see what happens).
Measure:
* Look for crashes.
* Look for requests that should complete but fail.
* Once all the tests are done and canceled, take a goroutine dump and check to make sure we haven't leaked any goroutines.
Contributor guide
Assessment
This issue has not been assessed yet.