summaryrefslogtreecommitdiff
path: root/src/tools/fuzzing/random.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [Fuzzer] Allow empty data in --translate-to-fuzz (#4406)Heejin Ahn2021-12-281-2/+2
| | | | | | | When a parameter and a member variable have the same name within a constructor, to access (and change) the member variable, we need to either use `this->` or change the name of the parameter. The current code ended up changing the parameter and didn't affect the status of the member variable, which remained empty.
* Add a fuzzer specifically for types (#4328)Thomas Lively2021-11-151-1/+2
| | | | | | | | | | | | | | | Add a new fuzzer binary that repeatedly generates random types to find bugs in the type system implementation. Each iteration creates some number of root types followed by some number of subtypes thereof. Each built type can contain arbitrary references to other built types, regardless of their order of construction. Right now the fuzzer only finds fatal errors in type building (and in its own implementation), but it is meant to be extended to check other properties in the future, such as that LUB calculations work as expected. The logic for creating types is also intended to be integrated into the main fuzzer in a follow-on PR so that the main fuzzer can fuzz with arbitrarily more interesting GC types.
* [NFC] Factor fuzzer randomness into a separate utility (#4304)Thomas Lively2021-11-041-0/+77
In preparation for using it from a separate file specifically for generating random HeapTypes that has no need to depend on all of fuzzing.h.