Fixed gas check for vm test

This commit is contained in:
obscuren 2014-12-30 17:16:28 +01:00
parent 89244981a8
commit 16460b0048

View File

@ -107,7 +107,9 @@ func RunVmTest(p string, t *testing.T) {
logs state.Logs
)
if len(test.Exec) > 0 {
isVmTest := len(test.Exec) > 0
if isVmTest {
ret, logs, gas, err = helper.RunVm(statedb, env, test.Exec)
} else {
ret, logs, gas, err = helper.RunState(statedb, env, test.Transaction)
@ -124,12 +126,16 @@ func RunVmTest(p string, t *testing.T) {
t.Errorf("%s's return failed. Expected %x, got %x\n", name, rexp, ret)
}
if len(test.Gas) > 0 {
if isVmTest {
if len(test.Gas) == 0 && err == nil {
t.Errorf("%s's gas unspecified, indicating an error. VM returned (incorrectly) successfull")
} else {
gexp := ethutil.Big(test.Gas)
if gexp.Cmp(gas) != 0 {
t.Errorf("%s's gas failed. Expected %v, got %v\n", name, gexp, gas)
}
}
}
for addr, account := range test.Post {
obj := statedb.GetStateObject(helper.FromHex(addr))