0
Fork 0
mirror of https://github.com/project-zot/zot.git synced 2024-12-16 21:56:37 -05:00
zot/README_fuzz.md
alexstan12 16e9822c7f
Add fuzz tests for storage_fs (#601)
This commit uses native go fuzzing to fuzz test implementations
of storage in storage_fs.

moved fuzzing testdata for storage_fs in separate repo

added make target and script for importing fuzz data and running all fuzz tests

Signed-off-by: Alex Stan <alexandrustan96@yahoo.ro>
2022-07-27 20:37:55 +03:00

951 B

Fuzzing in Zot

This project makes use of native Go 1.18 fuzzing. An in-depth tutorial for fuzzing in Go can be found here. As language specifies, fuzz tests are included among unit-tests, inside the the same *_test.go files, in the packages they intend to fuzz. See fuzzing for local storage

Zot doesn't store the test data for fuzzing in the same repo, nor it is added before fuzzing with (*testing.F).Add . Instead, it is stored in a separate repo called test-data.

To start fuzzing locally, one can use the Make target fuzz-all . The default runtime for each fuzz test is 10s, which can be overriden with the fuzztime variable

make fuzz-all fuzztime=20

By running this target, testdata for fuzzing gets downloaded from the previously mentioned repo and the fuzzing begins for every fuzz function that is found.