diff options
author | obscuren <geffobscura@gmail.com> | 2014-10-23 07:01:26 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-10-23 07:01:26 +0800 |
commit | 29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1 (patch) | |
tree | cd850fc126869e382ceb56f546aa579b37f7b63d /tests/helper | |
parent | 51ecab6967a15b82f9285cd0ffd3352607dc8612 (diff) | |
download | dexon-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar dexon-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.gz dexon-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.bz2 dexon-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.lz dexon-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.xz dexon-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.zst dexon-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.zip |
Updated the VM & VM tests
* Stack Error shouldn't revert to previous state
* Updated VM Test tool
* Added Transfer method to VM Env
Diffstat (limited to 'tests/helper')
-rw-r--r-- | tests/helper/vm.go | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/tests/helper/vm.go b/tests/helper/vm.go index 06c3d4eca..f70ce48a6 100644 --- a/tests/helper/vm.go +++ b/tests/helper/vm.go @@ -51,17 +51,16 @@ func (self *Env) BlockHash() []byte { return nil } func (self *Env) State() *ethstate.State { return self.state } func (self *Env) GasLimit() *big.Int { return self.gasLimit } func (self *Env) Transfer(from, to vm.Account, amount *big.Int) error { - return nil + return vm.Transfer(from, to, amount) } func RunVm(state *ethstate.State, env, exec map[string]string) ([]byte, *big.Int, error) { address := FromHex(exec["address"]) caller := state.GetOrNewStateObject(FromHex(exec["caller"])) - caller.SetBalance(ethutil.Big(exec["value"])) evm := vm.New(NewEnvFromMap(state, env, exec), vm.DebugVmTy) - execution := vm.NewExecution(evm, address, FromHex(exec["data"]), ethutil.Big(exec["gas"]), ethutil.Big(exec["gasPrice"]), ethutil.Big(exec["value"])) + execution.SkipTransfer = true ret, err := execution.Exec(address, caller) return ret, execution.Gas, err |