From: Tobias Klauser Date: Wed, 10 May 2023 15:08:59 +0000 (+0200) Subject: html: convert fuzz test to native Go fuzzing X-Git-Tag: go1.21rc1~606 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=200a01ff5589e2b8eb8cebeb4dcf6469aceaab27;p=gostls13.git 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 Reviewed-by: Ian Lance Taylor Reviewed-by: Cherry Mui Auto-Submit: Tobias Klauser Run-TryBot: Tobias Klauser --- 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)) + }) +}