good morning!!!!

Skip to content
Snippets Groups Projects
Commit 200f6653 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

updated tests

parent 0823254c
No related branches found
No related tags found
No related merge requests found
...@@ -79,10 +79,12 @@ func RunVmTest(p string, t *testing.T) { ...@@ -79,10 +79,12 @@ func RunVmTest(p string, t *testing.T) {
helper.CreateFileTests(t, p, &tests) helper.CreateFileTests(t, p, &tests)
for name, test := range tests { for name, test := range tests {
/*
helper.Logger.SetLogLevel(4) helper.Logger.SetLogLevel(4)
if name != "TransactionNonceCheck2" { if name != "log1_nonEmptyMem_logMemSize1_logMemStart31" {
continue continue
} }
*/
db, _ := ethdb.NewMemDatabase() db, _ := ethdb.NewMemDatabase()
statedb := state.New(nil, db) statedb := state.New(nil, db)
for addr, account := range test.Pre { for addr, account := range test.Pre {
...@@ -159,6 +161,9 @@ func RunVmTest(p string, t *testing.T) { ...@@ -159,6 +161,9 @@ func RunVmTest(p string, t *testing.T) {
} }
if len(test.Logs) > 0 { 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 { for i, log := range test.Logs {
genBloom := ethutil.LeftPadBytes(types.LogsBloom(state.Logs{logs[i]}).Bytes(), 64) genBloom := ethutil.LeftPadBytes(types.LogsBloom(state.Logs{logs[i]}).Bytes(), 64)
if !bytes.Equal(genBloom, ethutil.Hex2Bytes(log.BloomF)) { if !bytes.Equal(genBloom, ethutil.Hex2Bytes(log.BloomF)) {
...@@ -167,6 +172,7 @@ func RunVmTest(p string, t *testing.T) { ...@@ -167,6 +172,7 @@ func RunVmTest(p string, t *testing.T) {
} }
} }
} }
}
logger.Flush() logger.Flush()
} }
...@@ -176,11 +182,6 @@ func TestVMArithmetic(t *testing.T) { ...@@ -176,11 +182,6 @@ func TestVMArithmetic(t *testing.T) {
RunVmTest(fn, t) RunVmTest(fn, t)
} }
func TestSystemOperations(t *testing.T) {
const fn = "../files/VMTests/vmSystemOperationsTest.json"
RunVmTest(fn, t)
}
func TestBitwiseLogicOperation(t *testing.T) { func TestBitwiseLogicOperation(t *testing.T) {
const fn = "../files/VMTests/vmBitwiseLogicOperationTest.json" const fn = "../files/VMTests/vmBitwiseLogicOperationTest.json"
RunVmTest(fn, t) RunVmTest(fn, t)
...@@ -201,6 +202,17 @@ func TestFlowOperation(t *testing.T) { ...@@ -201,6 +202,17 @@ func TestFlowOperation(t *testing.T) {
RunVmTest(fn, 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) { func TestPushDupSwap(t *testing.T) {
const fn = "../files/VMTests/vmPushDupSwapTest.json" const fn = "../files/VMTests/vmPushDupSwapTest.json"
RunVmTest(fn, t) RunVmTest(fn, t)
......
...@@ -34,7 +34,7 @@ func New(env Environment) *Vm { ...@@ -34,7 +34,7 @@ func New(env Environment) *Vm {
lt = LogTyDiff 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) { 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 ...@@ -56,8 +56,6 @@ func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.I
err = fmt.Errorf("%v", r) 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 ...@@ -668,7 +666,6 @@ func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.I
} }
addr = ref.Address() addr = ref.Address()
fmt.Printf("CREATE %X\n", addr)
stack.Push(ethutil.BigD(addr)) stack.Push(ethutil.BigD(addr))
} }
...@@ -860,6 +857,8 @@ func (self *Vm) calculateGasAndSize(context *Context, caller ContextRef, op OpCo ...@@ -860,6 +857,8 @@ func (self *Vm) calculateGasAndSize(context *Context, caller ContextRef, op OpCo
// Stack Check, memory resize & gas phase // Stack Check, memory resize & gas phase
switch op { 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: case SWAP1, SWAP2, SWAP3, SWAP4, SWAP5, SWAP6, SWAP7, SWAP8, SWAP9, SWAP10, SWAP11, SWAP12, SWAP13, SWAP14, SWAP15, SWAP16:
n := int(op - SWAP1 + 2) n := int(op - SWAP1 + 2)
stack.require(n) stack.require(n)
...@@ -897,11 +896,12 @@ func (self *Vm) calculateGasAndSize(context *Context, caller ContextRef, op OpCo ...@@ -897,11 +896,12 @@ func (self *Vm) calculateGasAndSize(context *Context, caller ContextRef, op OpCo
g = GasStorageMod g = GasStorageMod
} }
gas.Set(g) gas.Set(g)
newMemSize = calcMemSize(stack.Peek(), u256(32))
case MLOAD: case MLOAD:
newMemSize = calcMemSize(stack.Peek(), u256(32)) newMemSize = calcMemSize(stack.Peek(), u256(32))
case MSTORE8: case MSTORE8:
newMemSize = calcMemSize(stack.Peek(), u256(1)) newMemSize = calcMemSize(stack.Peek(), u256(1))
case MSTORE:
newMemSize = calcMemSize(stack.Peek(), u256(32))
case RETURN: case RETURN:
newMemSize = calcMemSize(stack.Peek(), stack.data[stack.Len()-2]) newMemSize = calcMemSize(stack.Peek(), stack.data[stack.Len()-2])
case SHA3: case SHA3:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment