diff --git a/integration/README.md b/integration/README.md deleted file mode 100644 index 5937214a1..000000000 --- a/integration/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Integration package -The main goal is to have integration tests here. - -### Performance test -Right now we have `performance_test.go` to measure number of processed TX per second. -In order to run it: -``` -$ cd integration -$ go test -bench=. -benchmem -``` - -Result: -``` -10000 402421 ns/op 177370 B/op 90 allocs/op -PASS -ok github.com/nspcc-dev/neo-go/integration 4.360s - -``` - -Which means that in 4.360 seconds neo-go processes 10 000 transactions. \ No newline at end of file diff --git a/integration/performance_test.go b/integration/performance_test.go deleted file mode 100644 index c2d9b5f6d..000000000 --- a/integration/performance_test.go +++ /dev/null @@ -1,105 +0,0 @@ -package integration - -import ( - "math/rand" - "testing" - - "github.com/nspcc-dev/neo-go/pkg/config" - "github.com/nspcc-dev/neo-go/pkg/config/netmode" - "github.com/nspcc-dev/neo-go/pkg/core" - "github.com/nspcc-dev/neo-go/pkg/core/storage" - "github.com/nspcc-dev/neo-go/pkg/core/transaction" - "github.com/nspcc-dev/neo-go/pkg/crypto/keys" - "github.com/nspcc-dev/neo-go/pkg/encoding/address" - "github.com/nspcc-dev/neo-go/pkg/network" - "github.com/nspcc-dev/neo-go/pkg/wallet" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.uber.org/zap/zaptest" -) - -// Benchmark test to measure number of processed TX. -// Same benchmark made on reference C# node https://github.com/neo-project/neo/issues/1321. -func BenchmarkTXPerformanceTest(t *testing.B) { - net := netmode.UnitTestNet - configPath := "../config" - cfg, err := config.Load(configPath, net) - require.NoError(t, err, "could not load config") - - logger := zaptest.NewLogger(t) - memoryStore := storage.NewMemoryStore() - chain, err := core.NewBlockchain(memoryStore, cfg.ProtocolConfiguration, logger) - require.NoError(t, err, "could not create chain") - - go chain.Run() - - serverConfig := network.NewServerConfig(cfg) - server, err := network.NewServer(serverConfig, chain, logger) - require.NoError(t, err, "could not create server") - data := prepareData(t) - t.ResetTimer() - - for n := 0; n < t.N; n++ { - assert.Equal(t, network.RelaySucceed, server.RelayTxn(data[n])) - assert.Equal(t, network.RelayAlreadyExists, server.RelayTxn(data[n])) - } - chain.Close() -} - -func prepareData(t *testing.B) []*transaction.Transaction { - var data []*transaction.Transaction - - wif := getWif(t) - acc, err := wallet.NewAccountFromWIF(wif.S) - require.NoError(t, err) - - for n := 0; n < t.N; n++ { - tx := getTX(t, wif) - require.NoError(t, acc.SignTx(tx)) - data = append(data, tx) - } - return data -} - -// getWif returns Wif. -func getWif(t *testing.B) *keys.WIF { - var ( - wifEncoded = "KxhEDBQyyEFymvfJD96q8stMbJMbZUb6D1PmXqBWZDU2WvbvVs9o" - version = byte(0x00) - ) - wif, err := keys.WIFDecode(wifEncoded, version) - require.NoError(t, err) - return wif -} - -// getTX returns Invocation transaction with some random attributes in order to have different hashes. -func getTX(t *testing.B, wif *keys.WIF) *transaction.Transaction { - fromAddress := wif.PrivateKey.Address() - fromAddressHash, err := address.StringToUint160(fromAddress) - require.NoError(t, err) - - tx := transaction.New(netmode.UnitTestNet, []byte{0x51}, 1) - tx.Version = 0 - tx.Signers = []transaction.Signer{ - { - Account: fromAddressHash, - Scopes: transaction.FeeOnly, - }, - } - return tx -} - -// String returns a random string with the n as its length. -func randString(n int) string { - b := make([]byte, n) - for i := range b { - b[i] = byte(Int(65, 90)) - } - - return string(b) -} - -// Int returns a random integer in [min,max). -func Int(min, max int) int { - return min + rand.Intn(max-min) -} diff --git a/integration/plug.go b/integration/plug.go deleted file mode 100644 index b496ca5d5..000000000 --- a/integration/plug.go +++ /dev/null @@ -1,6 +0,0 @@ -// Package integration contains integration tests. -// See README.md for more info. -// This file exists with the sole purpose to get rid of -// "go build github.com/nspcc-dev/neo-go/integration: no non-test Go files in *" -// when running `go test -coverpkg=all`. -package integration