Commit dbb03fe9 authored by Martin Holst Swende's avatar Martin Holst Swende Committed by Felix Lange

tests: update from ethereum/tests (#19945)

parent 2c50b2c9
...@@ -25,24 +25,25 @@ func TestBlockchain(t *testing.T) { ...@@ -25,24 +25,25 @@ func TestBlockchain(t *testing.T) {
bt := new(testMatcher) bt := new(testMatcher)
// General state tests are 'exported' as blockchain tests, but we can run them natively. // General state tests are 'exported' as blockchain tests, but we can run them natively.
bt.skipLoad(`^GeneralStateTests/`) bt.skipLoad(`^ValidBlocks/bcStateTests/`)
// Skip random failures due to selfish mining test. // Skip random failures due to selfish mining test.
bt.skipLoad(`^bcForgedTest/bcForkUncle\.json`) bt.skipLoad(`.*bcForgedTest/bcForkUncle\.json`)
bt.skipLoad(`^bcMultiChainTest/(ChainAtoChainB_blockorder|CallContractFromNotBestBlock)`) bt.skipLoad(`.*bcMultiChainTest/(ChainAtoChainB_blockorder|CallContractFromNotBestBlock)`)
bt.skipLoad(`^bcTotalDifficultyTest/(lotsOfLeafs|lotsOfBranches|sideChainWithMoreTransactions)`) bt.skipLoad(`.*bcTotalDifficultyTest/(lotsOfLeafs|lotsOfBranches|sideChainWithMoreTransactions)`)
// Slow tests
bt.slow(`^bcExploitTest/DelegateCallSpam.json`) // These are not formatted like the rest -- due to the large postState, the postState
bt.slow(`^bcExploitTest/ShanghaiLove.json`) // was replaced by a hash, instead of a genesisAlloc map
bt.slow(`^bcExploitTest/SuicideIssue.json`) // See https://github.com/ethereum/tests/pull/616
bt.slow(`^bcForkStressTest/`) bt.skipLoad(`.*bcExploitTest/ShanghaiLove.json`)
bt.slow(`^bcGasPricerTest/RPC_API_Test.json`) bt.skipLoad(`.*bcExploitTest/SuicideIssue.json`)
bt.slow(`^bcWalletTest/`)
// Still failing tests that we need to look into // Slow tests
//bt.fails(`^bcStateTests/suicideThenCheckBalance.json/suicideThenCheckBalance_Constantinople`, "TODO: investigate") bt.slow(`.*bcExploitTest/DelegateCallSpam.json`)
//bt.fails(`^bcStateTests/suicideStorageCheckVCreate2.json/suicideStorageCheckVCreate2_Constantinople`, "TODO: investigate") bt.slow(`.*bcExploitTest/ShanghaiLove.json`)
//bt.fails(`^bcStateTests/suicideStorageCheckVCreate.json/suicideStorageCheckVCreate_Constantinople`, "TODO: investigate") bt.slow(`.*bcExploitTest/SuicideIssue.json`)
//bt.fails(`^bcStateTests/suicideStorageCheck.json/suicideStorageCheck_Constantinople`, "TODO: investigate") bt.slow(`.*/bcForkStressTest/`)
bt.slow(`.*/bcGasPricerTest/RPC_API_Test.json`)
bt.slow(`.*/bcWalletTest/`)
bt.walk(t, blockTestDir, func(t *testing.T, name string, test *BlockTest) { bt.walk(t, blockTestDir, func(t *testing.T, name string, test *BlockTest) {
if err := bt.checkFailure(t, name, test.Run()); err != nil { if err := bt.checkFailure(t, name, test.Run()); err != nil {
......
...@@ -107,6 +107,16 @@ var Forks = map[string]*params.ChainConfig{ ...@@ -107,6 +107,16 @@ var Forks = map[string]*params.ChainConfig{
ByzantiumBlock: big.NewInt(0), ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(5), ConstantinopleBlock: big.NewInt(5),
}, },
"ByzantiumToConstantinopleFixAt5": {
ChainID: big.NewInt(1),
HomesteadBlock: big.NewInt(0),
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(5),
PetersburgBlock: big.NewInt(5),
},
} }
// UnsupportedForkError is returned when a test requests a fork that isn't implemented. // UnsupportedForkError is returned when a test requests a fork that isn't implemented.
......
...@@ -46,12 +46,12 @@ func TestState(t *testing.T) { ...@@ -46,12 +46,12 @@ func TestState(t *testing.T) {
st.skipLoad(`^stTransactionTest/OverflowGasRequire\.json`) // gasLimit > 256 bits st.skipLoad(`^stTransactionTest/OverflowGasRequire\.json`) // gasLimit > 256 bits
st.skipLoad(`^stTransactionTest/zeroSigTransa[^/]*\.json`) // EIP-86 is not supported yet st.skipLoad(`^stTransactionTest/zeroSigTransa[^/]*\.json`) // EIP-86 is not supported yet
// Expected failures: // Expected failures:
st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/Byzantium/0`, "bug in test") //st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/Byzantium/0`, "bug in test")
st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/Byzantium/3`, "bug in test") //st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/Byzantium/3`, "bug in test")
st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/Constantinople/0`, "bug in test") //st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/Constantinople/0`, "bug in test")
st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/Constantinople/3`, "bug in test") //st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/Constantinople/3`, "bug in test")
st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/ConstantinopleFix/0`, "bug in test") //st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/ConstantinopleFix/0`, "bug in test")
st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/ConstantinopleFix/3`, "bug in test") //st.fails(`^stRevertTest/RevertPrecompiledTouch(_storage)?\.json/ConstantinopleFix/3`, "bug in test")
st.walk(t, stateTestDir, func(t *testing.T, name string, test *StateTest) { st.walk(t, stateTestDir, func(t *testing.T, name string, test *StateTest) {
for _, subtest := range test.Subtests() { for _, subtest := range test.Subtests() {
......
Subproject commit 6b85703b568f4456582a00665d8a3e5c3b20b484 Subproject commit 553c0ea76c739dbb97a8af9fb81c51510bf7493d
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment