From a43a1be0b44bd986e248e3169d6e294f39638678 Mon Sep 17 00:00:00 2001 From: skyblue Date: Wed, 11 Dec 2013 22:18:45 +0800 Subject: [PATCH] add some useful func --- utils/caller.go | 10 ++++++++++ utils/caller_test.go | 14 ++++++++++++++ utils/file.go | 2 +- utils/file_test.go | 8 ++++---- 4 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 utils/caller.go create mode 100644 utils/caller_test.go diff --git a/utils/caller.go b/utils/caller.go new file mode 100644 index 00000000..cfa293df --- /dev/null +++ b/utils/caller.go @@ -0,0 +1,10 @@ +package utils + +import ( + "reflect" + "runtime" +) + +func GetFuncName(i interface{}) string { + return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name() +} diff --git a/utils/caller_test.go b/utils/caller_test.go new file mode 100644 index 00000000..1a7e9c75 --- /dev/null +++ b/utils/caller_test.go @@ -0,0 +1,14 @@ +package utils + +import ( + "strings" + "testing" +) + +func TestGetFuncName(t *testing.T) { + name := GetFuncName(TestGetFuncName) + t.Log(name) + if !strings.HasSuffix(name, ".TestGetFuncName") { + t.Error("get func name error") + } +} diff --git a/utils/file.go b/utils/file.go index ab765408..65254c1f 100644 --- a/utils/file.go +++ b/utils/file.go @@ -43,7 +43,7 @@ func LookFile(filename string, paths ...string) (fullpath string, err error) { // like command grep -E // for example: GrepE(`^hello`, "hello.txt") // \n is striped while read -func GrepE(patten string, filename string) (lines []string, err error) { +func GrepFile(patten string, filename string) (lines []string, err error) { re, err := regexp.Compile(patten) if err != nil { return diff --git a/utils/file_test.go b/utils/file_test.go index 026d2cf6..a213d765 100644 --- a/utils/file_test.go +++ b/utils/file_test.go @@ -22,7 +22,7 @@ func TestSelfDir(t *testing.T) { } func TestFileExists(t *testing.T) { - if !FileExists("/bin/echo") { + if !FileExists("./file.go") { t.Errorf("/bin/echo should exists, but it didn't") } @@ -44,14 +44,14 @@ func TestLookFile(t *testing.T) { } } -func TestGrepE(t *testing.T) { - _, err := GrepE("", noExistedFile) +func TestGrepFile(t *testing.T) { + _, err := GrepFile("", noExistedFile) if err == nil { t.Error("expect file-not-existed error, but got nothing") } path := filepath.Join(".", "testdata", "grepe.test") - lines, err := GrepE(`^\s*[^#]+`, path) + lines, err := GrepFile(`^\s*[^#]+`, path) if err != nil { t.Error(err) }