cmd, common, node, rpc: move IPC into the node itself
This commit is contained in:
		| @@ -21,6 +21,7 @@ import ( | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"runtime" | ||||
| 	"testing" | ||||
|  | ||||
| 	"github.com/ethereum/go-ethereum/crypto" | ||||
| @@ -60,6 +61,37 @@ func TestDatadirCreation(t *testing.T) { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // Tests that IPC paths are correctly resolved to valid endpoints of different | ||||
| // platforms. | ||||
| func TestIpcPathResolution(t *testing.T) { | ||||
| 	var tests = []struct { | ||||
| 		DataDir  string | ||||
| 		IpcPath  string | ||||
| 		Windows  bool | ||||
| 		Endpoint string | ||||
| 	}{ | ||||
| 		{"", "", false, ""}, | ||||
| 		{"data", "", false, ""}, | ||||
| 		{"", "geth.ipc", false, filepath.Join(os.TempDir(), "geth.ipc")}, | ||||
| 		{"data", "geth.ipc", false, "data/geth.ipc"}, | ||||
| 		{"data", "./geth.ipc", false, "./geth.ipc"}, | ||||
| 		{"data", "/geth.ipc", false, "/geth.ipc"}, | ||||
| 		{"", "", true, ``}, | ||||
| 		{"data", "", true, ``}, | ||||
| 		{"", "geth.ipc", true, `\\.\pipe\geth.ipc`}, | ||||
| 		{"data", "geth.ipc", true, `\\.\pipe\geth.ipc`}, | ||||
| 		{"data", `\\.\pipe\geth.ipc`, true, `\\.\pipe\geth.ipc`}, | ||||
| 	} | ||||
| 	for i, test := range tests { | ||||
| 		// Only run when platform/test match | ||||
| 		if (runtime.GOOS == "windows") == test.Windows { | ||||
| 			if endpoint := (&Config{DataDir: test.DataDir, IpcPath: test.IpcPath}).IpcEndpoint(); endpoint != test.Endpoint { | ||||
| 				t.Errorf("test %d: IPC endpoint mismatch: have %s, want %s", i, endpoint, test.Endpoint) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // Tests that node keys can be correctly created, persisted, loaded and/or made | ||||
| // ephemeral. | ||||
| func TestNodeKeyPersistency(t *testing.T) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user