OSDN Git Service

fix commands
[bytom/shuttle.git] / vendor / github.com / bytom / vendor / github.com / pelletier / go-toml / fuzz.go
diff --git a/vendor/github.com/bytom/vendor/github.com/pelletier/go-toml/fuzz.go b/vendor/github.com/bytom/vendor/github.com/pelletier/go-toml/fuzz.go
new file mode 100644 (file)
index 0000000..14570c8
--- /dev/null
@@ -0,0 +1,31 @@
+// +build gofuzz
+
+package toml
+
+func Fuzz(data []byte) int {
+       tree, err := LoadBytes(data)
+       if err != nil {
+               if tree != nil {
+                       panic("tree must be nil if there is an error")
+               }
+               return 0
+       }
+
+       str, err := tree.ToTomlString()
+       if err != nil {
+               if str != "" {
+                       panic(`str must be "" if there is an error`)
+               }
+               panic(err)
+       }
+
+       tree, err = Load(str)
+       if err != nil {
+               if tree != nil {
+                       panic("tree must be nil if there is an error")
+               }
+               return 0
+       }
+
+       return 1
+}