diff options
| author | Tobias Klauser <tklauser@distanz.ch> | 2023-05-10 17:08:59 +0200 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-05-10 20:35:20 +0000 |
| commit | 200a01ff5589e2b8eb8cebeb4dcf6469aceaab27 (patch) | |
| tree | 6c2c7cf792703ad15132b13c7b644dd336febf80 /src | |
| parent | 1099644f5208c9e7911783c0103d5dad0a2021cd (diff) | |
| download | go-200a01ff5589e2b8eb8cebeb4dcf6469aceaab27.tar.xz | |
html: convert fuzz test to native Go fuzzing
Convert the existing gofuzz based fuzz test to a testing.F based fuzz
test.
Change-Id: Ieae69ba7fb17bd54d95c7bb2f4ed04c323c9f15f
Reviewed-on: https://go-review.googlesource.com/c/go/+/494195
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/html/fuzz.go | 31 | ||||
| -rw-r--r-- | src/html/fuzz_test.go | 22 |
2 files changed, 22 insertions, 31 deletions
diff --git a/src/html/fuzz.go b/src/html/fuzz.go deleted file mode 100644 index cd70f97106..0000000000 --- a/src/html/fuzz.go +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2019 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build gofuzz - -package html - -import ( - "fmt" -) - -func Fuzz(data []byte) int { - v := string(data) - - e := EscapeString(v) - u := UnescapeString(e) - if v != u { - fmt.Printf("v = %q\n", v) - fmt.Printf("e = %q\n", e) - fmt.Printf("u = %q\n", u) - panic("not equal") - } - - // As per the documentation, this isn't always equal to v, so it makes - // no sense to check for equality. It can still be interesting to find - // panics in it though. - EscapeString(UnescapeString(v)) - - return 0 -} diff --git a/src/html/fuzz_test.go b/src/html/fuzz_test.go new file mode 100644 index 0000000000..ed15d8f270 --- /dev/null +++ b/src/html/fuzz_test.go @@ -0,0 +1,22 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package html + +import "testing" + +func FuzzEscapeUnescape(f *testing.F) { + f.Fuzz(func(t *testing.T, v string) { + e := EscapeString(v) + u := UnescapeString(e) + if u != v { + t.Errorf("EscapeString(%q) = %q, UnescapeString(%q) = %q, want %q", v, e, e, u, v) + } + + // As per the documentation, this isn't always equal to v, so it makes + // no sense to check for equality. It can still be interesting to find + // panics in it though. + EscapeString(UnescapeString(v)) + }) +} |
