aboutsummaryrefslogtreecommitdiffstats
path: root/tests/block_test.go
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2017-08-10 17:38:17 +0800
committerFelix Lange <fjl@twurst.com>2017-08-11 18:34:03 +0800
commit6a56b15019271f5a16406c7e1be50d581f8efcab (patch)
tree55974ff01bbb8c9a4e554f9f647f6c8c69006a84 /tests/block_test.go
parent17ce0a37de5a2712a8bf9d58df705e718b3b2cd6 (diff)
downloaddexon-6a56b15019271f5a16406c7e1be50d581f8efcab.tar.gz
dexon-6a56b15019271f5a16406c7e1be50d581f8efcab.tar.zst
dexon-6a56b15019271f5a16406c7e1be50d581f8efcab.zip
tests: update tests, use blockchain test "network" field
Blockchain tests now include the "network" which determines the chain config to use. Remove config matching based on test name and share the name-to-config index with state tests. Byzantium/Constantinople tests are still skipped because most of them fail anyway.
Diffstat (limited to 'tests/block_test.go')
-rw-r--r--tests/block_test.go55
1 files changed, 10 insertions, 45 deletions
diff --git a/tests/block_test.go b/tests/block_test.go
index 3245aca7d..6fc66b17c 100644
--- a/tests/block_test.go
+++ b/tests/block_test.go
@@ -17,10 +17,7 @@
package tests
import (
- "math/big"
"testing"
-
- "github.com/ethereum/go-ethereum/params"
)
func TestBlockchain(t *testing.T) {
@@ -30,51 +27,19 @@ func TestBlockchain(t *testing.T) {
// General state tests are 'exported' as blockchain tests, but we can run them natively.
bt.skipLoad(`^GeneralStateTests/`)
// Skip random failures due to selfish mining test.
- bt.skipLoad(`bcForkUncle\.json/ForkUncle`)
- bt.skipLoad(`^bcMultiChainTest\.json/ChainAtoChainB_blockorder`)
- bt.skipLoad(`^bcTotalDifficultyTest\.json/(lotsOfLeafs|lotsOfBranches|sideChainWithMoreTransactions)$`)
- bt.skipLoad(`^bcMultiChainTest\.json/CallContractFromNotBestBlock`)
+ bt.skipLoad(`^bcForgedTest/bcForkUncle\.json`)
+ bt.skipLoad(`^bcMultiChainTest/(ChainAtoChainB_blockorder|CallContractFromNotBestBlock)`)
+ bt.skipLoad(`^bcTotalDifficultyTest/(lotsOfLeafs|lotsOfBranches|sideChainWithMoreTransactions)`)
+ // Constantinople is not implemented yet.
+ bt.skipLoad(`(?i)(constantinople)`)
// Expected failures:
- bt.fails(`(?i)metropolis`, "metropolis is not supported yet")
- bt.fails(`^TestNetwork/bcTheDaoTest\.json/(DaoTransactions$|DaoTransactions_UncleExtradata$)`, "issue in test")
-
- bt.config(`^TestNetwork/`, params.ChainConfig{
- HomesteadBlock: big.NewInt(5),
- DAOForkBlock: big.NewInt(8),
- DAOForkSupport: true,
- EIP150Block: big.NewInt(10),
- EIP155Block: big.NewInt(10),
- EIP158Block: big.NewInt(14),
- // MetropolisBlock: big.NewInt(16),
- })
- bt.config(`^RandomTests/.*EIP150`, params.ChainConfig{
- HomesteadBlock: big.NewInt(0),
- EIP150Block: big.NewInt(0),
- })
- bt.config(`^RandomTests/.*EIP158`, params.ChainConfig{
- HomesteadBlock: big.NewInt(0),
- EIP150Block: big.NewInt(0),
- EIP155Block: big.NewInt(0),
- EIP158Block: big.NewInt(0),
- })
- bt.config(`^RandomTests/`, params.ChainConfig{
- HomesteadBlock: big.NewInt(0),
- EIP150Block: big.NewInt(10),
- })
- bt.config(`^Homestead/`, params.ChainConfig{
- HomesteadBlock: big.NewInt(0),
- })
- bt.config(`^EIP150/`, params.ChainConfig{
- HomesteadBlock: big.NewInt(0),
- EIP150Block: big.NewInt(0),
- })
- bt.config(`^[^/]+\.json`, params.ChainConfig{
- HomesteadBlock: big.NewInt(1000000),
- })
+ bt.fails("^TransitionTests/bcEIP158ToByzantium", "byzantium not supported")
+ bt.fails(`^TransitionTests/bcHomesteadToDao/DaoTransactions(|_UncleExtradata|_EmptyTransactionAndForkBlocksAhead)\.json`, "issue in test")
+ bt.fails(`^bc(Exploit|Fork|Gas|Multi|Total|State|Random|Uncle|Valid|Wallet).*_Byzantium$`, "byzantium not supported")
+ bt.fails(`^bcBlockGasLimitTest/(BlockGasLimit2p63m1|TransactionGasHigherThanLimit2p63m1|SuicideTransaction|GasUsedHigherThanBlockGasLimitButNotWithRefundsSuicideFirst|TransactionGasHigherThanLimit2p63m1_2).*_Byzantium$`, "byzantium not supported")
bt.walk(t, blockTestDir, func(t *testing.T, name string, test *BlockTest) {
- cfg := bt.findConfig(name)
- if err := bt.checkFailure(t, name, test.Run(cfg)); err != nil {
+ if err := bt.checkFailure(t, name, test.Run()); err != nil {
t.Error(err)
}
})