transaction: add fuzz-test, refs. #2374

This commit is contained in:
Roman Khimov 2022-06-09 13:43:00 +03:00
parent 9919fd2cc9
commit 7b88aedb27

View file

@ -0,0 +1,27 @@
//go:build go1.18
// +build go1.18
package transaction
import (
"encoding/base64"
"testing"
"github.com/nspcc-dev/neo-go/pkg/util"
"github.com/stretchr/testify/require"
)
func FuzzNewTransactionFromBytes(f *testing.F) {
b, err := base64.StdEncoding.DecodeString(rawInvocationTX)
require.NoError(f, err)
f.Add(b)
tx := New([]byte{0x51}, 1)
tx.Signers = []Signer{{Account: util.Uint160{1, 2, 3}}}
tx.Scripts = []Witness{{InvocationScript: []byte{}, VerificationScript: []byte{}}}
f.Add(tx.Bytes())
f.Fuzz(func(t *testing.T, b []byte) {
require.NotPanics(t, func() {
_, _ = NewTransactionFromBytes(b)
})
})
}