diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2016-10-31 18:32:05 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2016-11-13 17:44:06 +0800 |
commit | 5cd86443ee071b5e3abe4995c777ce467c29f2c5 (patch) | |
tree | 0d67d118efab52c09a877c4be9560b9c9020f775 /tests/state_test_util.go | |
parent | 779ddb183275ed506ebae972876fe04098c738e5 (diff) | |
download | dexon-5cd86443ee071b5e3abe4995c777ce467c29f2c5.tar.gz dexon-5cd86443ee071b5e3abe4995c777ce467c29f2c5.tar.zst dexon-5cd86443ee071b5e3abe4995c777ce467c29f2c5.zip |
tests: added new EIP158 tests
Diffstat (limited to 'tests/state_test_util.go')
-rw-r--r-- | tests/state_test_util.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tests/state_test_util.go b/tests/state_test_util.go index 6427537b4..c8899392a 100644 --- a/tests/state_test_util.go +++ b/tests/state_test_util.go @@ -110,7 +110,7 @@ func runStateTests(chainConfig *params.ChainConfig, tests map[string]VmTest, ski } for name, test := range tests { - if skipTest[name] /*|| name != "callcodecallcode_11" */ { + if skipTest[name] /*|| name != "NonZeroValue_CALL_ToEmpty"*/ { glog.Infoln("Skipping state test", name) continue } @@ -221,7 +221,6 @@ func RunState(chainConfig *params.ChainConfig, statedb *state.StateDB, env, tx m } // Set pre compiled contracts vm.Precompiled = vm.PrecompiledContracts() - snapshot := statedb.Snapshot() gaspool := new(core.GasPool).AddGas(common.Big(env["currentGasLimit"])) key, _ := hex.DecodeString(tx["secretKey"]) @@ -229,6 +228,12 @@ func RunState(chainConfig *params.ChainConfig, statedb *state.StateDB, env, tx m message := NewMessage(addr, to, data, value, gas, price, nonce) vmenv := NewEnvFromMap(chainConfig, statedb, env, tx) vmenv.origin = addr + + root, _ := statedb.Commit(false) + statedb.Reset(root) + + snapshot := statedb.Snapshot() + ret, _, err := core.ApplyMessage(vmenv, message, gaspool) if core.IsNonceErr(err) || core.IsInvalidTxErr(err) || core.IsGasLimitErr(err) { statedb.RevertToSnapshot(snapshot) |