diff --git a/tests/vm/gh_test.go b/tests/vm/gh_test.go index 4d6319fd1..fdc82179f 100644 --- a/tests/vm/gh_test.go +++ b/tests/vm/gh_test.go @@ -64,14 +64,15 @@ type Env struct { type VmTest struct { Callcreates interface{} //Env map[string]string - Env Env - Exec map[string]string - Transaction map[string]string - Logs []Log - Gas string - Out string - Post map[string]Account - Pre map[string]Account + Env Env + Exec map[string]string + Transaction map[string]string + Logs []Log + Gas string + Out string + Post map[string]Account + Pre map[string]Account + PostStateRoot string } func RunVmTest(p string, t *testing.T) { @@ -154,6 +155,12 @@ func RunVmTest(p string, t *testing.T) { } } + if !isVmTest { + if !bytes.Equal(ethutil.Hex2Bytes(test.PostStateRoot), statedb.Root()) { + t.Errorf("Post state root error. Expected %s, got %x", test.PostStateRoot, statedb.Root()) + } + } + 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))