aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/ethtest
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-01-21 03:22:38 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-01-21 03:22:38 +0800
commitd92fde698031758f64fcabe7af354360a93f6326 (patch)
tree5f843fe17762e0aa87a0e790d527886f2cc8eea5 /cmd/ethtest
parent499bc404e818848e53c8c7f4f6d1bfe2349e97ae (diff)
parent87f50659db7a4bf194769b05f541d2ccf02f4fc8 (diff)
downloadgo-tangerine-d92fde698031758f64fcabe7af354360a93f6326.tar
go-tangerine-d92fde698031758f64fcabe7af354360a93f6326.tar.gz
go-tangerine-d92fde698031758f64fcabe7af354360a93f6326.tar.bz2
go-tangerine-d92fde698031758f64fcabe7af354360a93f6326.tar.lz
go-tangerine-d92fde698031758f64fcabe7af354360a93f6326.tar.xz
go-tangerine-d92fde698031758f64fcabe7af354360a93f6326.tar.zst
go-tangerine-d92fde698031758f64fcabe7af354360a93f6326.zip
Merge branch 'develop' into jsonrpc
Diffstat (limited to 'cmd/ethtest')
-rw-r--r--cmd/ethtest/main.go29
1 files changed, 17 insertions, 12 deletions
diff --git a/cmd/ethtest/main.go b/cmd/ethtest/main.go
index 96ef94e40..e1c4806ad 100644
--- a/cmd/ethtest/main.go
+++ b/cmd/ethtest/main.go
@@ -17,8 +17,6 @@
/**
* @authors:
* Jeffrey Wilcke <i@jev.io>
- * @date 2014
- *
*/
package main
@@ -26,12 +24,15 @@ package main
import (
"bytes"
"encoding/json"
+ "io"
"io/ioutil"
"log"
"os"
"strings"
+ "github.com/ethereum/go-ethereum/ethdb"
"github.com/ethereum/go-ethereum/ethutil"
+ "github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/state"
"github.com/ethereum/go-ethereum/tests/helper"
)
@@ -43,8 +44,8 @@ type Account struct {
Storage map[string]string
}
-func StateObjectFromAccount(addr string, account Account) *state.StateObject {
- obj := state.NewStateObject(ethutil.Hex2Bytes(addr))
+func StateObjectFromAccount(db ethutil.Database, addr string, account Account) *state.StateObject {
+ obj := state.NewStateObject(ethutil.Hex2Bytes(addr), db)
obj.SetBalance(ethutil.Big(account.Balance))
if ethutil.IsHex(account.Code) {
@@ -66,19 +67,20 @@ type VmTest struct {
Pre map[string]Account
}
-func RunVmTest(js string) (failed int) {
+func RunVmTest(r io.Reader) (failed int) {
tests := make(map[string]VmTest)
- data, _ := ioutil.ReadAll(strings.NewReader(js))
+ data, _ := ioutil.ReadAll(r)
err := json.Unmarshal(data, &tests)
if err != nil {
log.Fatalln(err)
}
for name, test := range tests {
- state := state.New(helper.NewTrie())
+ db, _ := ethdb.NewMemDatabase()
+ state := state.New(nil, db)
for addr, account := range test.Pre {
- obj := StateObjectFromAccount(addr, account)
+ obj := StateObjectFromAccount(db, addr, account)
state.SetStateObject(obj)
}
@@ -118,6 +120,8 @@ func RunVmTest(js string) (failed int) {
}
}
}
+
+ logger.Flush()
}
return
@@ -125,9 +129,10 @@ func RunVmTest(js string) (failed int) {
func main() {
helper.Logger.SetLogLevel(5)
- if len(os.Args) == 1 {
- log.Fatalln("no json supplied")
- }
- os.Exit(RunVmTest(os.Args[1]))
+ if len(os.Args) > 1 {
+ os.Exit(RunVmTest(strings.NewReader(os.Args[1])))
+ } else {
+ os.Exit(RunVmTest(os.Stdin))
+ }
}