diff options
Diffstat (limited to 'tests/transaction_test.go')
-rw-r--r-- | tests/transaction_test.go | 118 |
1 files changed, 23 insertions, 95 deletions
diff --git a/tests/transaction_test.go b/tests/transaction_test.go index 317355eb3..72d43c0ec 100644 --- a/tests/transaction_test.go +++ b/tests/transaction_test.go @@ -18,109 +18,37 @@ package tests import ( "math/big" - "path/filepath" "testing" "github.com/ethereum/go-ethereum/params" ) -func TestTransactions(t *testing.T) { - config := ¶ms.ChainConfig{} - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "ttTransactionTest.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } -} - -func TestWrongRLPTransactions(t *testing.T) { - config := ¶ms.ChainConfig{} - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "ttWrongRLPTransaction.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } -} - -func Test10MBTransactions(t *testing.T) { - config := ¶ms.ChainConfig{} - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "tt10mbDataField.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } -} - -// homestead tests -func TestHomesteadTransactions(t *testing.T) { - config := ¶ms.ChainConfig{ - HomesteadBlock: big.NewInt(0), - } - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "Homestead", "ttTransactionTest.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } -} - -func TestHomesteadWrongRLPTransactions(t *testing.T) { - config := ¶ms.ChainConfig{ - HomesteadBlock: big.NewInt(0), - } - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "Homestead", "ttWrongRLPTransaction.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } -} - -func TestHomestead10MBTransactions(t *testing.T) { - config := ¶ms.ChainConfig{ - HomesteadBlock: big.NewInt(0), - } - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "Homestead", "tt10mbDataField.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } -} +func TestTransaction(t *testing.T) { + t.Parallel() -func TestHomesteadVitalik(t *testing.T) { - config := ¶ms.ChainConfig{ + txt := new(testMatcher) + txt.config(`^Homestead/`, params.ChainConfig{ HomesteadBlock: big.NewInt(0), - } - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "Homestead", "ttTransactionTestEip155VitaliksTests.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } -} - -func TestTxEIP155Transaction(t *testing.T) { - config := ¶ms.ChainConfig{ - ChainId: big.NewInt(1), + }) + txt.config(`^EIP155/`, params.ChainConfig{ HomesteadBlock: big.NewInt(0), + EIP150Block: big.NewInt(0), EIP155Block: big.NewInt(0), - } - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "EIP155", "ttTransactionTest.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } -} - -func TestTxEIP155VitaliksTests(t *testing.T) { - config := ¶ms.ChainConfig{ + EIP158Block: big.NewInt(0), ChainId: big.NewInt(1), - HomesteadBlock: big.NewInt(0), - EIP155Block: big.NewInt(0), - } - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "EIP155", "ttTransactionTestEip155VitaliksTests.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } -} - -func TestTxEIP155VRule(t *testing.T) { - config := ¶ms.ChainConfig{ - ChainId: big.NewInt(1), - HomesteadBlock: big.NewInt(0), - EIP155Block: big.NewInt(0), - } - err := RunTransactionTests(config, filepath.Join(transactionTestDir, "EIP155", "ttTransactionTestVRule.json"), TransSkipTests) - if err != nil { - t.Fatal(err) - } + }) + txt.config(`^Metropolis/`, params.ChainConfig{ + HomesteadBlock: big.NewInt(0), + EIP150Block: big.NewInt(0), + EIP155Block: big.NewInt(0), + EIP158Block: big.NewInt(0), + MetropolisBlock: big.NewInt(0), + }) + + txt.walk(t, transactionTestDir, func(t *testing.T, name string, test *TransactionTest) { + cfg := txt.findConfig(name) + if err := txt.checkFailure(t, name, test.Run(cfg)); err != nil { + t.Error(err) + } + }) } |