diff options
author | obscuren <geffobscura@gmail.com> | 2015-03-13 06:26:58 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-03-13 06:26:58 +0800 |
commit | 80592f244da3f7323b7fa3e75a17c8e37c97fe8d (patch) | |
tree | c003c01b819355eaaada7a93dbb28e578c7fb95c | |
parent | 3a88da578fc25843308e02ebc3c1d5c431f81820 (diff) | |
download | dexon-80592f244da3f7323b7fa3e75a17c8e37c97fe8d.tar dexon-80592f244da3f7323b7fa3e75a17c8e37c97fe8d.tar.gz dexon-80592f244da3f7323b7fa3e75a17c8e37c97fe8d.tar.bz2 dexon-80592f244da3f7323b7fa3e75a17c8e37c97fe8d.tar.lz dexon-80592f244da3f7323b7fa3e75a17c8e37c97fe8d.tar.xz dexon-80592f244da3f7323b7fa3e75a17c8e37c97fe8d.tar.zst dexon-80592f244da3f7323b7fa3e75a17c8e37c97fe8d.zip |
more obvious failure for ethtest
-rw-r--r-- | cmd/ethtest/main.go | 10 | ||||
-rw-r--r-- | core/execution.go | 5 | ||||
-rw-r--r-- | vm/environment.go | 2 | ||||
-rw-r--r-- | vm/vm.go | 2 |
4 files changed, 9 insertions, 10 deletions
diff --git a/cmd/ethtest/main.go b/cmd/ethtest/main.go index cc5139da1..bbcde4c56 100644 --- a/cmd/ethtest/main.go +++ b/cmd/ethtest/main.go @@ -136,7 +136,7 @@ func RunVmTest(r io.Reader) (failed int) { rexp := helper.FromHex(test.Out) if bytes.Compare(rexp, ret) != 0 { - fmt.Printf("%s's return failed. Expected %x, got %x\n", name, rexp, ret) + fmt.Printf("FAIL: %s's return failed. Expected %x, got %x\n", name, rexp, ret) failed = 1 } @@ -148,7 +148,7 @@ func RunVmTest(r io.Reader) (failed int) { if len(test.Exec) == 0 { if obj.Balance().Cmp(ethutil.Big(account.Balance)) != 0 { - fmt.Printf("%s's : (%x) balance failed. Expected %v, got %v => %v\n", name, obj.Address()[:4], account.Balance, obj.Balance(), new(big.Int).Sub(ethutil.Big(account.Balance), obj.Balance())) + fmt.Printf("FAIL: %s's : (%x) balance failed. Expected %v, got %v => %v\n", name, obj.Address()[:4], account.Balance, obj.Balance(), new(big.Int).Sub(ethutil.Big(account.Balance), obj.Balance())) failed = 1 } } @@ -158,20 +158,20 @@ func RunVmTest(r io.Reader) (failed int) { vexp := helper.FromHex(value) if bytes.Compare(v, vexp) != 0 { - fmt.Printf("%s's : (%x: %s) storage failed. Expected %x, got %x (%v %v)\n", name, obj.Address()[0:4], addr, vexp, v, ethutil.BigD(vexp), ethutil.BigD(v)) + fmt.Printf("FAIL: %s's : (%x: %s) storage failed. Expected %x, got %x (%v %v)\n", name, obj.Address()[0:4], addr, vexp, v, ethutil.BigD(vexp), ethutil.BigD(v)) failed = 1 } } } if !bytes.Equal(ethutil.Hex2Bytes(test.PostStateRoot), statedb.Root()) { - fmt.Printf("%s's : Post state root error. Expected %s, got %x\n", name, test.PostStateRoot, statedb.Root()) + fmt.Printf("FAIL: %s's : Post state root error. Expected %s, got %x\n", name, test.PostStateRoot, statedb.Root()) failed = 1 } if len(test.Logs) > 0 { if len(test.Logs) != len(logs) { - fmt.Printf("log length mismatch. Expected %d, got %d", len(test.Logs), len(logs)) + fmt.Printf("FAIL: log length mismatch. Expected %d, got %d", len(test.Logs), len(logs)) failed = 1 } else { /* diff --git a/core/execution.go b/core/execution.go index 4a69cce09..8f2b5bee1 100644 --- a/core/execution.go +++ b/core/execution.go @@ -25,10 +25,7 @@ func (self *Execution) Addr() []byte { func (self *Execution) Call(codeAddr []byte, caller vm.ContextRef) ([]byte, error) { // Retrieve the executing code - var code []byte - if self.env.State().GetStateObject(codeAddr) != nil { - code = self.env.State().GetCode(codeAddr) - } + code := self.env.State().GetCode(codeAddr) return self.exec(code, codeAddr, caller) } diff --git a/vm/environment.go b/vm/environment.go index 5b4d6c8f0..69832241f 100644 --- a/vm/environment.go +++ b/vm/environment.go @@ -36,10 +36,12 @@ type Account interface { SubBalance(amount *big.Int) AddBalance(amount *big.Int) Balance() *big.Int + Address() []byte } // generic transfer method func Transfer(from, to Account, amount *big.Int) error { + //fmt.Printf(":::%x::: %v < %v\n", from.Address(), from.Balance(), amount) if from.Balance().Cmp(amount) < 0 { return errors.New("Insufficient balance in account") } @@ -380,7 +380,7 @@ func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.I // 0x20 range case SHA3: - size, offset := stack.pop(), stack.pop() + offset, size := stack.pop(), stack.pop() data := crypto.Sha3(mem.Get(offset.Int64(), size.Int64())) stack.push(ethutil.BigD(data)) |