Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
c0741edc
Commit
c0741edc
authored
Mar 22, 2015
by
Taylor Gerring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move OS-specific funcs to path.go
parent
82a41a19
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
91 additions
and
98 deletions
+91
-98
common.go
common/common.go
+0
-62
common_test.go
common/common_test.go
+0
-35
path.go
common/path.go
+60
-0
path_test.go
common/path_test.go
+31
-1
No files found.
common/common.go
View file @
c0741edc
...
@@ -3,14 +3,8 @@ package common
...
@@ -3,14 +3,8 @@ package common
import
(
import
(
"fmt"
"fmt"
"math/big"
"math/big"
"os"
"os/user"
"path"
"path/filepath"
"runtime"
"runtime"
"time"
"time"
"github.com/kardianos/osext"
)
)
// MakeName creates a node name that follows the ethereum convention
// MakeName creates a node name that follows the ethereum convention
...
@@ -20,62 +14,6 @@ func MakeName(name, version string) string {
...
@@ -20,62 +14,6 @@ func MakeName(name, version string) string {
return
fmt
.
Sprintf
(
"%s/v%s/%s/%s"
,
name
,
version
,
runtime
.
GOOS
,
runtime
.
Version
())
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
// Common big integers often used
var
(
var
(
Big1
=
big
.
NewInt
(
1
)
Big1
=
big
.
NewInt
(
1
)
...
...
common/common_test.go
deleted
100644 → 0
View file @
82a41a19
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
),
"/"
)
}
}
common/path.go
View file @
c0741edc
...
@@ -5,7 +5,11 @@ import (
...
@@ -5,7 +5,11 @@ import (
"os"
"os"
"os/user"
"os/user"
"path"
"path"
"path/filepath"
"runtime"
"strings"
"strings"
"github.com/kardianos/osext"
)
)
func
ExpandHomePath
(
p
string
)
(
path
string
)
{
func
ExpandHomePath
(
p
string
)
(
path
string
)
{
...
@@ -66,3 +70,59 @@ func AbsolutePath(Datadir string, filename string) string {
...
@@ -66,3 +70,59 @@ func AbsolutePath(Datadir string, filename string) string {
}
}
return
path
.
Join
(
Datadir
,
filename
)
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
}
common/path_test.go
View file @
c0741edc
package
common
package
common
import
(
import
(
//
"os"
"os"
"testing"
"testing"
checker
"gopkg.in/check.v1"
)
)
func
TestGoodFile
(
t
*
testing
.
T
)
{
func
TestGoodFile
(
t
*
testing
.
T
)
{
...
@@ -49,3 +51,31 @@ func TestBadFile(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
),
"/"
)
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment