Merge pull request #2553 from nspcc-dev/tx-fuzz

transaction: add fuzz-test, refs. #2374
This commit is contained in:
Roman Khimov 2022-06-09 14:37:38 +03:00 committed by GitHub
commit e5f2cac3c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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)
})
})
}