|
|
|
@ -25,24 +25,25 @@ func TestBlockchain(t *testing.T) { |
|
|
|
|
|
|
|
|
|
bt := new(testMatcher) |
|
|
|
|
// 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.
|
|
|
|
|
bt.skipLoad(`^bcForgedTest/bcForkUncle\.json`) |
|
|
|
|
bt.skipLoad(`^bcMultiChainTest/(ChainAtoChainB_blockorder|CallContractFromNotBestBlock)`) |
|
|
|
|
bt.skipLoad(`^bcTotalDifficultyTest/(lotsOfLeafs|lotsOfBranches|sideChainWithMoreTransactions)`) |
|
|
|
|
// Slow tests
|
|
|
|
|
bt.slow(`^bcExploitTest/DelegateCallSpam.json`) |
|
|
|
|
bt.slow(`^bcExploitTest/ShanghaiLove.json`) |
|
|
|
|
bt.slow(`^bcExploitTest/SuicideIssue.json`) |
|
|
|
|
bt.slow(`^bcForkStressTest/`) |
|
|
|
|
bt.slow(`^bcGasPricerTest/RPC_API_Test.json`) |
|
|
|
|
bt.slow(`^bcWalletTest/`) |
|
|
|
|
bt.skipLoad(`.*bcForgedTest/bcForkUncle\.json`) |
|
|
|
|
bt.skipLoad(`.*bcMultiChainTest/(ChainAtoChainB_blockorder|CallContractFromNotBestBlock)`) |
|
|
|
|
bt.skipLoad(`.*bcTotalDifficultyTest/(lotsOfLeafs|lotsOfBranches|sideChainWithMoreTransactions)`) |
|
|
|
|
|
|
|
|
|
// These are not formatted like the rest -- due to the large postState, the postState
|
|
|
|
|
// was replaced by a hash, instead of a genesisAlloc map
|
|
|
|
|
// See https://github.com/ethereum/tests/pull/616
|
|
|
|
|
bt.skipLoad(`.*bcExploitTest/ShanghaiLove.json`) |
|
|
|
|
bt.skipLoad(`.*bcExploitTest/SuicideIssue.json`) |
|
|
|
|
|
|
|
|
|
// Still failing tests that we need to look into
|
|
|
|
|
//bt.fails(`^bcStateTests/suicideThenCheckBalance.json/suicideThenCheckBalance_Constantinople`, "TODO: investigate")
|
|
|
|
|
//bt.fails(`^bcStateTests/suicideStorageCheckVCreate2.json/suicideStorageCheckVCreate2_Constantinople`, "TODO: investigate")
|
|
|
|
|
//bt.fails(`^bcStateTests/suicideStorageCheckVCreate.json/suicideStorageCheckVCreate_Constantinople`, "TODO: investigate")
|
|
|
|
|
//bt.fails(`^bcStateTests/suicideStorageCheck.json/suicideStorageCheck_Constantinople`, "TODO: investigate")
|
|
|
|
|
// Slow tests
|
|
|
|
|
bt.slow(`.*bcExploitTest/DelegateCallSpam.json`) |
|
|
|
|
bt.slow(`.*bcExploitTest/ShanghaiLove.json`) |
|
|
|
|
bt.slow(`.*bcExploitTest/SuicideIssue.json`) |
|
|
|
|
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) { |
|
|
|
|
if err := bt.checkFailure(t, name, test.Run()); err != nil { |
|
|
|
|