updated tests

pull/426/head
obscuren 10 years ago
parent 0823254c3b
commit 200f66537c
  1. 24
      tests/vm/gh_test.go
  2. 10
      vm/vm.go

@ -79,10 +79,12 @@ func RunVmTest(p string, t *testing.T) {
helper.CreateFileTests(t, p, &tests)
for name, test := range tests {
/*
helper.Logger.SetLogLevel(4)
if name != "TransactionNonceCheck2" {
if name != "log1_nonEmptyMem_logMemSize1_logMemStart31" {
continue
}
*/
db, _ := ethdb.NewMemDatabase()
statedb := state.New(nil, db)
for addr, account := range test.Pre {
@ -159,6 +161,9 @@ func RunVmTest(p string, t *testing.T) {
}
if len(test.Logs) > 0 {
if len(test.Logs) != len(logs) {
t.Errorf("log length mismatch. Expected %d, got %d", len(test.Logs), len(logs))
} else {
for i, log := range test.Logs {
genBloom := ethutil.LeftPadBytes(types.LogsBloom(state.Logs{logs[i]}).Bytes(), 64)
if !bytes.Equal(genBloom, ethutil.Hex2Bytes(log.BloomF)) {
@ -167,6 +172,7 @@ func RunVmTest(p string, t *testing.T) {
}
}
}
}
logger.Flush()
}
@ -176,11 +182,6 @@ func TestVMArithmetic(t *testing.T) {
RunVmTest(fn, t)
}
func TestSystemOperations(t *testing.T) {
const fn = "../files/VMTests/vmSystemOperationsTest.json"
RunVmTest(fn, t)
}
func TestBitwiseLogicOperation(t *testing.T) {
const fn = "../files/VMTests/vmBitwiseLogicOperationTest.json"
RunVmTest(fn, t)
@ -201,6 +202,17 @@ func TestFlowOperation(t *testing.T) {
RunVmTest(fn, t)
}
func TestLogTest(t *testing.T) {
const fn = "../files/VMTests/vmLogTest.json"
RunVmTest(fn, t)
}
func TestPerformance(t *testing.T) {
t.Skip()
const fn = "../files/VMTests/vmPerformance.json"
RunVmTest(fn, t)
}
func TestPushDupSwap(t *testing.T) {
const fn = "../files/VMTests/vmPushDupSwapTest.json"
RunVmTest(fn, t)

@ -34,7 +34,7 @@ func New(env Environment) *Vm {
lt = LogTyDiff
}
return &Vm{debug: false, env: env, logTy: lt, Recoverable: true}
return &Vm{debug: true, env: env, logTy: lt, Recoverable: true}
}
func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.Int, callData []byte) (ret []byte, err error) {
@ -56,8 +56,6 @@ func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.I
err = fmt.Errorf("%v", r)
} else {
fmt.Println(me.(*state.StateObject).Storage())
}
}()
}
@ -668,7 +666,6 @@ func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.I
}
addr = ref.Address()
fmt.Printf("CREATE %X\n", addr)
stack.Push(ethutil.BigD(addr))
}
@ -860,6 +857,8 @@ func (self *Vm) calculateGasAndSize(context *Context, caller ContextRef, op OpCo
// Stack Check, memory resize & gas phase
switch op {
case PUSH1, PUSH2, PUSH3, PUSH4, PUSH5, PUSH6, PUSH7, PUSH8, PUSH9, PUSH10, PUSH11, PUSH12, PUSH13, PUSH14, PUSH15, PUSH16, PUSH17, PUSH18, PUSH19, PUSH20, PUSH21, PUSH22, PUSH23, PUSH24, PUSH25, PUSH26, PUSH27, PUSH28, PUSH29, PUSH30, PUSH31, PUSH32:
gas.Set(GasFastestStep)
case SWAP1, SWAP2, SWAP3, SWAP4, SWAP5, SWAP6, SWAP7, SWAP8, SWAP9, SWAP10, SWAP11, SWAP12, SWAP13, SWAP14, SWAP15, SWAP16:
n := int(op - SWAP1 + 2)
stack.require(n)
@ -897,11 +896,12 @@ func (self *Vm) calculateGasAndSize(context *Context, caller ContextRef, op OpCo
g = GasStorageMod
}
gas.Set(g)
newMemSize = calcMemSize(stack.Peek(), u256(32))
case MLOAD:
newMemSize = calcMemSize(stack.Peek(), u256(32))
case MSTORE8:
newMemSize = calcMemSize(stack.Peek(), u256(1))
case MSTORE:
newMemSize = calcMemSize(stack.Peek(), u256(32))
case RETURN:
newMemSize = calcMemSize(stack.Peek(), stack.data[stack.Len()-2])
case SHA3:

Loading…
Cancel
Save