aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-03-22 20:44:17 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-03-22 20:44:17 +0800
commitc0741edc34c3d09b69c7a64a97aaca0e7759add1 (patch)
tree93b31a77c875ec58d182a07092bf1589b901cf5a
parent82a41a198e3ac217e1c349c7300b1fb28e4982ab (diff)
downloaddexon-c0741edc34c3d09b69c7a64a97aaca0e7759add1.tar.gz
dexon-c0741edc34c3d09b69c7a64a97aaca0e7759add1.tar.zst
dexon-c0741edc34c3d09b69c7a64a97aaca0e7759add1.zip
Move OS-specific funcs to path.go
-rw-r--r--common/common.go62
-rw-r--r--common/common_test.go35
-rw-r--r--common/path.go60
-rw-r--r--common/path_test.go32
4 files changed, 91 insertions, 98 deletions
diff --git a/common/common.go b/common/common.go
index 9045151f5..b5eacfdb7 100644
--- a/common/common.go
+++ b/common/common.go
@@ -3,14 +3,8 @@ package common
import (
"fmt"
"math/big"
- "os"
- "os/user"
- "path"
- "path/filepath"
"runtime"
"time"
-
- "github.com/kardianos/osext"
)
// MakeName creates a node name that follows the ethereum convention
@@ -20,62 +14,6 @@ func MakeName(name, version string) string {
return fmt.Sprintf("%s/v%s/%s/%s", name, version, runtime.GOOS, runtime.Version())
}
-func DefaultAssetPath() string {
- var assetPath string
- pwd, _ := os.Getwd()
- srcdir := path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "cmd", "mist")
-
- // If the current working directory is the go-ethereum dir
- // assume a debug build and use the source directory as
- // asset directory.
- if pwd == srcdir {
- assetPath = path.Join(pwd, "assets")
- } else {
- switch runtime.GOOS {
- case "darwin":
- // Get Binary Directory
- exedir, _ := osext.ExecutableFolder()
- assetPath = filepath.Join(exedir, "../Resources")
- case "linux":
- assetPath = "/usr/share/mist"
- case "windows":
- assetPath = "./assets"
- default:
- assetPath = "."
- }
- }
-
- // Check if the assetPath exists. If not, try the source directory
- // This happens when binary is run from outside cmd/mist directory
- if _, err := os.Stat(assetPath); os.IsNotExist(err) {
- assetPath = path.Join(srcdir, "assets")
- }
-
- return assetPath
-}
-
-func DefaultDataDir() string {
- usr, _ := user.Current()
- if runtime.GOOS == "darwin" {
- return path.Join(usr.HomeDir, "Library/Ethereum")
- } else if runtime.GOOS == "windows" {
- return path.Join(usr.HomeDir, "AppData/Roaming/Ethereum")
- } else {
- return path.Join(usr.HomeDir, ".ethereum")
- }
-}
-
-func IsWindows() bool {
- return runtime.GOOS == "windows"
-}
-
-func WindonizePath(path string) string {
- if string(path[0]) == "/" && IsWindows() {
- path = path[1:]
- }
- return path
-}
-
// Common big integers often used
var (
Big1 = big.NewInt(1)
diff --git a/common/common_test.go b/common/common_test.go
deleted file mode 100644
index a94dd1792..000000000
--- a/common/common_test.go
+++ /dev/null
@@ -1,35 +0,0 @@
-package common
-
-import (
- "os"
-
- checker "gopkg.in/check.v1"
-)
-
-type CommonSuite struct{}
-
-var _ = checker.Suite(&CommonSuite{})
-
-func (s *CommonSuite) TestOS(c *checker.C) {
- expwin := (os.PathSeparator == '\\' && os.PathListSeparator == ';')
- res := IsWindows()
-
- if !expwin {
- c.Assert(res, checker.Equals, expwin, checker.Commentf("IsWindows is", res, "but path is", os.PathSeparator))
- } else {
- c.Assert(res, checker.Not(checker.Equals), expwin, checker.Commentf("IsWindows is", res, "but path is", os.PathSeparator))
- }
-}
-
-func (s *CommonSuite) TestWindonziePath(c *checker.C) {
- iswindowspath := os.PathSeparator == '\\'
- path := "/opt/eth/test/file.ext"
- res := WindonizePath(path)
- ressep := string(res[0])
-
- if !iswindowspath {
- c.Assert(ressep, checker.Equals, "/")
- } else {
- c.Assert(ressep, checker.Not(checker.Equals), "/")
- }
-}
diff --git a/common/path.go b/common/path.go
index 680c8366c..8b95a2be6 100644
--- a/common/path.go
+++ b/common/path.go
@@ -5,7 +5,11 @@ import (
"os"
"os/user"
"path"
+ "path/filepath"
+ "runtime"
"strings"
+
+ "github.com/kardianos/osext"
)
func ExpandHomePath(p string) (path string) {
@@ -66,3 +70,59 @@ func AbsolutePath(Datadir string, filename string) string {
}
return path.Join(Datadir, filename)
}
+
+func DefaultAssetPath() string {
+ var assetPath string
+ pwd, _ := os.Getwd()
+ srcdir := path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "cmd", "mist")
+
+ // If the current working directory is the go-ethereum dir
+ // assume a debug build and use the source directory as
+ // asset directory.
+ if pwd == srcdir {
+ assetPath = path.Join(pwd, "assets")
+ } else {
+ switch runtime.GOOS {
+ case "darwin":
+ // Get Binary Directory
+ exedir, _ := osext.ExecutableFolder()
+ assetPath = filepath.Join(exedir, "../Resources")
+ case "linux":
+ assetPath = "/usr/share/mist"
+ case "windows":
+ assetPath = "./assets"
+ default:
+ assetPath = "."
+ }
+ }
+
+ // Check if the assetPath exists. If not, try the source directory
+ // This happens when binary is run from outside cmd/mist directory
+ if _, err := os.Stat(assetPath); os.IsNotExist(err) {
+ assetPath = path.Join(srcdir, "assets")
+ }
+
+ return assetPath
+}
+
+func DefaultDataDir() string {
+ usr, _ := user.Current()
+ if runtime.GOOS == "darwin" {
+ return path.Join(usr.HomeDir, "Library/Ethereum")
+ } else if runtime.GOOS == "windows" {
+ return path.Join(usr.HomeDir, "AppData/Roaming/Ethereum")
+ } else {
+ return path.Join(usr.HomeDir, ".ethereum")
+ }
+}
+
+func IsWindows() bool {
+ return runtime.GOOS == "windows"
+}
+
+func WindonizePath(path string) string {
+ if string(path[0]) == "/" && IsWindows() {
+ path = path[1:]
+ }
+ return path
+}
diff --git a/common/path_test.go b/common/path_test.go
index 4af1bd7af..c831d1a57 100644
--- a/common/path_test.go
+++ b/common/path_test.go
@@ -1,8 +1,10 @@
package common
import (
- // "os"
+ "os"
"testing"
+
+ checker "gopkg.in/check.v1"
)
func TestGoodFile(t *testing.T) {
@@ -49,3 +51,31 @@ func TestBadFile(t *testing.T) {
}
}
+
+type CommonSuite struct{}
+
+var _ = checker.Suite(&CommonSuite{})
+
+func (s *CommonSuite) TestOS(c *checker.C) {
+ expwin := (os.PathSeparator == '\\' && os.PathListSeparator == ';')
+ res := IsWindows()
+
+ if !expwin {
+ c.Assert(res, checker.Equals, expwin, checker.Commentf("IsWindows is", res, "but path is", os.PathSeparator))
+ } else {
+ c.Assert(res, checker.Not(checker.Equals), expwin, checker.Commentf("IsWindows is", res, "but path is", os.PathSeparator))
+ }
+}
+
+func (s *CommonSuite) TestWindonziePath(c *checker.C) {
+ iswindowspath := os.PathSeparator == '\\'
+ path := "/opt/eth/test/file.ext"
+ res := WindonizePath(path)
+ ressep := string(res[0])
+
+ if !iswindowspath {
+ c.Assert(ressep, checker.Equals, "/")
+ } else {
+ c.Assert(ressep, checker.Not(checker.Equals), "/")
+ }
+}