aboutsummaryrefslogtreecommitdiffstats
path: root/tests/state_test_util.go
diff options
context:
space:
mode:
authorGustav Simonsson <gustav.simonsson@gmail.com>2015-11-27 22:40:29 +0800
committerJeffrey Wilcke <geffobscura@gmail.com>2016-02-18 17:08:11 +0800
commit371871d685d54b916aef28de689d6f0af7822083 (patch)
treee704b02ba2ffd2d1164001885fba15106b0f7d94 /tests/state_test_util.go
parentaa36a6ae4f24f07e2c470a21c93ff37ad5861982 (diff)
downloaddexon-371871d685d54b916aef28de689d6f0af7822083.tar.gz
dexon-371871d685d54b916aef28de689d6f0af7822083.tar.zst
dexon-371871d685d54b916aef28de689d6f0af7822083.zip
parmas, crypto, core, core/vm: homestead consensus protocol changes
* change gas cost for contract creating txs * invalidate signature with s value greater than secp256k1 N / 2 * OOG contract creation if not enough gas to store code * new difficulty adjustment algorithm * new DELEGATECALL op code
Diffstat (limited to 'tests/state_test_util.go')
-rw-r--r--tests/state_test_util.go17
1 files changed, 10 insertions, 7 deletions
diff --git a/tests/state_test_util.go b/tests/state_test_util.go
index 352fe3570..e8e617f4f 100644
--- a/tests/state_test_util.go
+++ b/tests/state_test_util.go
@@ -125,10 +125,10 @@ func runStateTests(tests map[string]VmTest, skipTests []string) error {
for name, test := range tests {
if skipTest[name] {
glog.Infoln("Skipping state test", name)
- return nil
+ continue
}
- //fmt.Println("StateTest name:", name)
+ fmt.Println("StateTest:", name)
if err := runStateTest(test); err != nil {
return fmt.Errorf("%s: %s\n", name, err.Error())
}
@@ -182,13 +182,16 @@ func runStateTest(test VmTest) error {
// check post state
for addr, account := range test.Post {
obj := statedb.GetStateObject(common.HexToAddress(addr))
+ if obj == nil {
+ return fmt.Errorf("did not find expected post-state account: %s", addr)
+ }
if obj.Balance().Cmp(common.Big(account.Balance)) != 0 {
- return fmt.Errorf("(%x) balance failed. Expected %v, got %v => %v\n", obj.Address().Bytes()[:4], account.Balance, obj.Balance(), new(big.Int).Sub(common.Big(account.Balance), obj.Balance()))
+ return fmt.Errorf("(%x) balance failed. Expected: %v have: %v\n", obj.Address().Bytes()[:4], common.String2Big(account.Balance), obj.Balance())
}
if obj.Nonce() != common.String2Big(account.Nonce).Uint64() {
- return fmt.Errorf("(%x) nonce failed. Expected %v, got %v\n", obj.Address().Bytes()[:4], account.Nonce, obj.Nonce())
+ return fmt.Errorf("(%x) nonce failed. Expected: %v have: %v\n", obj.Address().Bytes()[:4], account.Nonce, obj.Nonce())
}
for addr, value := range account.Storage {
@@ -196,14 +199,14 @@ func runStateTest(test VmTest) error {
vexp := common.HexToHash(value)
if v != vexp {
- return fmt.Errorf("(%x: %s) storage failed. Expected %x, got %x (%v %v)\n", obj.Address().Bytes()[0:4], addr, vexp, v, vexp.Big(), v.Big())
+ return fmt.Errorf("storage failed:\n%x: %s:\nexpected: %x\nhave: %x\n(%v %v)\n", obj.Address().Bytes(), addr, vexp, v, vexp.Big(), v.Big())
}
}
}
root, _ := statedb.Commit()
if common.HexToHash(test.PostStateRoot) != root {
- return fmt.Errorf("Post state root error. Expected %s, got %x", test.PostStateRoot, root)
+ return fmt.Errorf("Post state root error. Expected: %s have: %x", test.PostStateRoot, root)
}
// check logs
@@ -232,7 +235,7 @@ func RunState(statedb *state.StateDB, env, tx map[string]string) ([]byte, vm.Log
}
// Set pre compiled contracts
vm.Precompiled = vm.PrecompiledContracts()
-
+ vm.Debug = false
snapshot := statedb.Copy()
gaspool := new(core.GasPool).AddGas(common.Big(env["currentGasLimit"]))