mirror of https://github.com/golang/go.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 <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>
This commit is contained in:
parent
1099644f52
commit
200a01ff55
|
|
@ -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
|
|
||||||
}
|
|
||||||
|
|
@ -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))
|
||||||
|
})
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue