From 8ca94e23c882de412691fcf35f2d2fdd603f5e8d Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Sat, 29 Feb 2020 17:16:13 +0300 Subject: [PATCH] core: replace makeBlocks() with addBlocks() in tests This simplifies tests a bit. --- pkg/core/blockchain_test.go | 39 +++++++++---------------------------- pkg/core/helper_test.go | 18 ++++++++--------- 2 files changed, 17 insertions(+), 40 deletions(-) diff --git a/pkg/core/blockchain_test.go b/pkg/core/blockchain_test.go index a35245776..ebce9abeb 100644 --- a/pkg/core/blockchain_test.go +++ b/pkg/core/blockchain_test.go @@ -3,7 +3,6 @@ package core import ( "testing" - "github.com/CityOfZion/neo-go/pkg/core/block" "github.com/CityOfZion/neo-go/pkg/core/storage" "github.com/CityOfZion/neo-go/pkg/core/transaction" "github.com/CityOfZion/neo-go/pkg/crypto/hash" @@ -38,18 +37,10 @@ func TestAddHeaders(t *testing.T) { } func TestAddBlock(t *testing.T) { + const size = 3 bc := newTestChain(t) - blocks := []*block.Block{ - newBlock(1, newMinerTX()), - newBlock(2, newMinerTX()), - newBlock(3, newMinerTX()), - } - - for i := 0; i < len(blocks); i++ { - if err := bc.AddBlock(blocks[i]); err != nil { - t.Fatal(err) - } - } + blocks, err := bc.genBlocks(size) + require.NoError(t, err) lastBlock := blocks[len(blocks)-1] assert.Equal(t, lastBlock.Index, bc.HeaderHeight()) @@ -112,13 +103,8 @@ func TestGetHeader(t *testing.T) { func TestGetBlock(t *testing.T) { bc := newTestChain(t) - blocks := makeBlocks(100) - - for i := 0; i < len(blocks); i++ { - if err := bc.AddBlock(blocks[i]); err != nil { - t.Fatal(err) - } - } + blocks, err := bc.genBlocks(100) + require.NoError(t, err) // Test unpersisted and persisted access for j := 0; j < 2; j++ { @@ -136,13 +122,8 @@ func TestGetBlock(t *testing.T) { func TestHasBlock(t *testing.T) { bc := newTestChain(t) - blocks := makeBlocks(50) - - for i := 0; i < len(blocks); i++ { - if err := bc.AddBlock(blocks[i]); err != nil { - t.Fatal(err) - } - } + blocks, err := bc.genBlocks(50) + require.NoError(t, err) // Test unpersisted and persisted access for j := 0; j < 2; j++ { @@ -187,10 +168,8 @@ func TestClose(t *testing.T) { assert.NotNil(t, r) }() bc := newTestChain(t) - blocks := makeBlocks(10) - for i := 0; i < len(blocks); i++ { - require.NoError(t, bc.AddBlock(blocks[i])) - } + _, err := bc.genBlocks(10) + require.NoError(t, err) bc.Close() // It's a hack, but we use internal knowledge of MemoryStore // implementation which makes it completely unusable (up to panicing) diff --git a/pkg/core/helper_test.go b/pkg/core/helper_test.go index db6d97ab2..debcbae4f 100644 --- a/pkg/core/helper_test.go +++ b/pkg/core/helper_test.go @@ -96,12 +96,15 @@ func newBlock(index uint32, txs ...*transaction.Transaction) *block.Block { return b } -func makeBlocks(n int) []*block.Block { +func (bc *Blockchain) genBlocks(n int) ([]*block.Block, error) { blocks := make([]*block.Block, n) for i := 0; i < n; i++ { - blocks[i] = newBlock(uint32(i+1), newMinerTX()) + blocks[i] = newBlock(uint32(i)+1, newMinerTX()) + if err := bc.AddBlock(blocks[i]); err != nil { + return blocks, err + } } - return blocks + return blocks, nil } func newMinerTX() *transaction.Transaction { @@ -175,13 +178,8 @@ func newDumbBlock() *block.Block { func _(t *testing.T) { bc := newTestChain(t) n := 50 - blocks := makeBlocks(n) - - for i := 0; i < len(blocks); i++ { - if err := bc.AddBlock(blocks[i]); err != nil { - t.Fatal(err) - } - } + _, err := bc.genBlocks(n) + require.NoError(t, err) tx1 := newMinerTX()