]> Cypherpunks repositories - keks.git/commitdiff
Wider code fuzz coverage
authorSergey Matveev <stargrave@stargrave.org>
Wed, 11 Dec 2024 13:27:17 +0000 (16:27 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 11 Dec 2024 13:53:24 +0000 (16:53 +0300)
gyac/fuzz_test.go

index 37195dabd4dd777a0fedc21e334f0a8f5656de222ad4d405c43060666ffb44bb..a4340493a4b9fac43dd551d4c6b100b6fa591dc1c5f23ff4ebd449cc54329197 100644 (file)
@@ -1,11 +1,23 @@
 package gyac
 
 import (
+       "bytes"
        "testing"
 )
 
 func FuzzItemDecode(f *testing.F) {
+       var item *Item
+       var err error
+       var tail []byte
        f.Fuzz(func(t *testing.T, b []byte) {
-               ItemDecode(b)
+               item, tail, err = ItemDecode(b)
+               if err == nil {
+                       if !bytes.Equal(
+                               append(ItemFromGo(item.ToGo()).Encode(nil), tail...),
+                               b,
+                       ) {
+                               t.Fail()
+                       }
+               }
        })
 }