[!fuzz] skip [short] skip env GOCACHE=$WORK/cache # Run chatty fuzz targets with an error. ! go test -v chatty_error_fuzz_test.go ! stdout '^ok' stdout 'FAIL' stdout 'error in target' # Run chatty fuzz targets with a fatal. ! go test -v chatty_fatal_fuzz_test.go ! stdout '^ok' stdout 'FAIL' stdout 'fatal in target' # Run chatty fuzz target with a panic ! go test -v chatty_panic_fuzz_test.go ! stdout ^ok stdout FAIL stdout 'this is bad' # Run skipped chatty fuzz targets. go test -v chatty_skipped_fuzz_test.go stdout ok stdout SKIP ! stdout FAIL # Run successful chatty fuzz targets. go test -v chatty_fuzz_test.go stdout ok stdout PASS stdout 'all good here' ! stdout FAIL # Fuzz successful chatty fuzz target that includes a separate unit test. go test -v chatty_with_test_fuzz_test.go -fuzz=Fuzz -fuzztime=1x stdout ok stdout PASS ! stdout FAIL stdout -count=1 'all good here' # Verify that the unit test is only run once. stdout -count=1 'logged foo' -- chatty_error_fuzz_test.go -- package chatty_error_fuzz import "testing" func Fuzz(f *testing.F) { f.Error("error in target") } -- chatty_fatal_fuzz_test.go -- package chatty_fatal_fuzz import "testing" func Fuzz(f *testing.F) { f.Fatal("fatal in target") } -- chatty_panic_fuzz_test.go -- package chatty_panic_fuzz import "testing" func Fuzz(f *testing.F) { panic("this is bad") } -- chatty_skipped_fuzz_test.go -- package chatty_skipped_fuzz import "testing" func Fuzz(f *testing.F) { f.Skip() } -- chatty_fuzz_test.go -- package chatty_fuzz import "testing" func Fuzz(f *testing.F) { f.Log("all good here") f.Fuzz(func(*testing.T, []byte) {}) } -- chatty_with_test_fuzz_test.go -- package chatty_with_test_fuzz import "testing" func TestFoo(t *testing.T) { t.Log("logged foo") } func Fuzz(f *testing.F) { f.Log("all good here") f.Fuzz(func(*testing.T, []byte) {}) }