core/vm, tests: update tests, enable constantinople statetests, fix SAR opcode (#17538)

This commit does a few things at once:

- Updates the tests to contain the latest data from ethereum/tests repo.
- Enables Constantinople state tests. This is needed to be able to
  fuzz-test the evm with constantinople rules.
- Fixes the error in opSAR that we've known about for some time. I was
  kind of saving it to see if we hit upon it with the random test
  generator, but it's difficult to both enable the tests and have the
  bug there -- we don't want to forget about it, so maybe it's better
  to just fix it.
This commit is contained in:
Martin Holst Swende
2018-09-04 10:49:18 +02:00
committed by Felix Lange
parent 6a33954731
commit 32f28a9360
6 changed files with 27 additions and 9 deletions

View File

@@ -30,11 +30,11 @@ func TestBlockchain(t *testing.T) {
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)`)
// This test is broken
bt.fails(`blockhashNonConstArg_Constantinople`, "Broken test")
// Still failing tests
bt.skipLoad(`^bcWalletTest.*_Byzantium$`)
// bt.skipLoad(`^bcWalletTest.*_Byzantium$`)
bt.walk(t, blockTestDir, func(t *testing.T, name string, test *BlockTest) {
if err := bt.checkFailure(t, name, test.Run()); err != nil {