|
@@ -20,6 +20,8 @@ import (
|
|
|
"github.com/ethereum/go-ethereum/core/state"
|
|
"github.com/ethereum/go-ethereum/core/state"
|
|
|
"github.com/ethereum/go-ethereum/crypto"
|
|
"github.com/ethereum/go-ethereum/crypto"
|
|
|
"github.com/ethereum/go-ethereum/eth"
|
|
"github.com/ethereum/go-ethereum/eth"
|
|
|
|
|
+ "github.com/ethereum/go-ethereum/rpc/comms"
|
|
|
|
|
+ "github.com/ethereum/go-ethereum/rpc/codec"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
const (
|
|
@@ -105,7 +107,8 @@ func testJEthRE(t *testing.T) (string, *testjethre, *eth.Ethereum) {
|
|
|
t.Errorf("Error creating DocServer: %v", err)
|
|
t.Errorf("Error creating DocServer: %v", err)
|
|
|
}
|
|
}
|
|
|
tf := &testjethre{ds: ds, stateDb: ethereum.ChainManager().State().Copy()}
|
|
tf := &testjethre{ds: ds, stateDb: ethereum.ChainManager().State().Copy()}
|
|
|
- repl := newJSRE(ethereum, assetPath, "", "", false, tf)
|
|
|
|
|
|
|
+ client := comms.NewInProcClient(codec.JSON)
|
|
|
|
|
+ repl := newJSRE(ethereum, assetPath, "", client, false, tf)
|
|
|
tf.jsre = repl
|
|
tf.jsre = repl
|
|
|
return tmp, tf, ethereum
|
|
return tmp, tf, ethereum
|
|
|
}
|
|
}
|
|
@@ -125,7 +128,7 @@ func TestNodeInfo(t *testing.T) {
|
|
|
defer ethereum.Stop()
|
|
defer ethereum.Stop()
|
|
|
defer os.RemoveAll(tmp)
|
|
defer os.RemoveAll(tmp)
|
|
|
want := `{"DiscPort":0,"IP":"0.0.0.0","ListenAddr":"","Name":"test","NodeID":"4cb2fc32924e94277bf94b5e4c983beedb2eabd5a0bc941db32202735c6625d020ca14a5963d1738af43b6ac0a711d61b1a06de931a499fe2aa0b1a132a902b5","NodeUrl":"enode://4cb2fc32924e94277bf94b5e4c983beedb2eabd5a0bc941db32202735c6625d020ca14a5963d1738af43b6ac0a711d61b1a06de931a499fe2aa0b1a132a902b5@0.0.0.0:0","TCPPort":0,"Td":"131072"}`
|
|
want := `{"DiscPort":0,"IP":"0.0.0.0","ListenAddr":"","Name":"test","NodeID":"4cb2fc32924e94277bf94b5e4c983beedb2eabd5a0bc941db32202735c6625d020ca14a5963d1738af43b6ac0a711d61b1a06de931a499fe2aa0b1a132a902b5","NodeUrl":"enode://4cb2fc32924e94277bf94b5e4c983beedb2eabd5a0bc941db32202735c6625d020ca14a5963d1738af43b6ac0a711d61b1a06de931a499fe2aa0b1a132a902b5@0.0.0.0:0","TCPPort":0,"Td":"131072"}`
|
|
|
- checkEvalJSON(t, repl, `admin.nodeInfo()`, want)
|
|
|
|
|
|
|
+ checkEvalJSON(t, repl, `admin.nodeInfo`, want)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func TestAccounts(t *testing.T) {
|
|
func TestAccounts(t *testing.T) {
|
|
@@ -139,7 +142,7 @@ func TestAccounts(t *testing.T) {
|
|
|
checkEvalJSON(t, repl, `eth.accounts`, `["`+testAddress+`"]`)
|
|
checkEvalJSON(t, repl, `eth.accounts`, `["`+testAddress+`"]`)
|
|
|
checkEvalJSON(t, repl, `eth.coinbase`, `"`+testAddress+`"`)
|
|
checkEvalJSON(t, repl, `eth.coinbase`, `"`+testAddress+`"`)
|
|
|
|
|
|
|
|
- val, err := repl.re.Run(`admin.newAccount("password")`)
|
|
|
|
|
|
|
+ val, err := repl.re.Run(`personal.newAccount("password")`)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
t.Errorf("expected no error, got %v", err)
|
|
t.Errorf("expected no error, got %v", err)
|
|
|
}
|
|
}
|
|
@@ -161,7 +164,7 @@ func TestBlockChain(t *testing.T) {
|
|
|
defer ethereum.Stop()
|
|
defer ethereum.Stop()
|
|
|
defer os.RemoveAll(tmp)
|
|
defer os.RemoveAll(tmp)
|
|
|
// get current block dump before export/import.
|
|
// get current block dump before export/import.
|
|
|
- val, err := repl.re.Run("JSON.stringify(admin.debug.dumpBlock())")
|
|
|
|
|
|
|
+ val, err := repl.re.Run("JSON.stringify(debug.dumpBlock(eth.blockNumber))")
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
t.Errorf("expected no error, got %v", err)
|
|
t.Errorf("expected no error, got %v", err)
|
|
|
}
|
|
}
|
|
@@ -178,14 +181,14 @@ func TestBlockChain(t *testing.T) {
|
|
|
|
|
|
|
|
ethereum.ChainManager().Reset()
|
|
ethereum.ChainManager().Reset()
|
|
|
|
|
|
|
|
- checkEvalJSON(t, repl, `admin.export(`+tmpfileq+`)`, `true`)
|
|
|
|
|
|
|
+ checkEvalJSON(t, repl, `admin.exportChain(`+tmpfileq+`)`, `true`)
|
|
|
if _, err := os.Stat(tmpfile); err != nil {
|
|
if _, err := os.Stat(tmpfile); err != nil {
|
|
|
t.Fatal(err)
|
|
t.Fatal(err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// check import, verify that dumpBlock gives the same result.
|
|
// check import, verify that dumpBlock gives the same result.
|
|
|
- checkEvalJSON(t, repl, `admin.import(`+tmpfileq+`)`, `true`)
|
|
|
|
|
- checkEvalJSON(t, repl, `admin.debug.dumpBlock()`, beforeExport)
|
|
|
|
|
|
|
+ checkEvalJSON(t, repl, `admin.importChain(`+tmpfileq+`)`, `true`)
|
|
|
|
|
+ checkEvalJSON(t, repl, `debug.dumpBlock(eth.blockNumber)`, beforeExport)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func TestMining(t *testing.T) {
|
|
func TestMining(t *testing.T) {
|