From fc33006ede405b962664b6325d9dcdb8ee1a35c5 Mon Sep 17 00:00:00 2001 From: Mark Ayers Date: Fri, 26 Jan 2018 17:37:03 -0800 Subject: [PATCH] Remove deadcode --- stack.go | 40 ---------------------------------------- stack_test.go | 42 ++++++++++++------------------------------ 2 files changed, 12 insertions(+), 70 deletions(-) diff --git a/stack.go b/stack.go index b485761..2874a04 100644 --- a/stack.go +++ b/stack.go @@ -145,43 +145,3 @@ func funcname(name string) string { i = strings.Index(name, ".") return name[i+1:] } - -func trimGOPATH(name, file string) string { - // Here we want to get the source file path relative to the compile time - // GOPATH. As of Go 1.6.x there is no direct way to know the compiled - // GOPATH at runtime, but we can infer the number of path segments in the - // GOPATH. We note that fn.Name() returns the function name qualified by - // the import path, which does not include the GOPATH. Thus we can trim - // segments from the beginning of the file path until the number of path - // separators remaining is one more than the number of path separators in - // the function name. For example, given: - // - // GOPATH /home/user - // file /home/user/src/pkg/sub/file.go - // fn.Name() pkg/sub.Type.Method - // - // We want to produce: - // - // pkg/sub/file.go - // - // From this we can easily see that fn.Name() has one less path separator - // than our desired output. We count separators from the end of the file - // path until it finds two more than in the function name and then move - // one character forward to preserve the initial path segment without a - // leading separator. - const sep = "/" - goal := strings.Count(name, sep) + 2 - i := len(file) - for n := 0; n < goal; n++ { - i = strings.LastIndex(file[:i], sep) - if i == -1 { - // not enough separators found, set i so that the slice expression - // below leaves file unmodified - i = -len(sep) - break - } - } - // get back to 0 or trim the leading separator - file = file[i+len(sep):] - return file -} diff --git a/stack_test.go b/stack_test.go index 510c27a..85fc419 100644 --- a/stack_test.go +++ b/stack_test.go @@ -146,24 +146,6 @@ func TestFuncname(t *testing.T) { } } -func TestTrimGOPATH(t *testing.T) { - var tests = []struct { - Frame - want string - }{{ - Frame(initpc), - "github.com/pkg/errors/stack_test.go", - }} - - for i, tt := range tests { - pc := tt.Frame.pc() - fn := runtime.FuncForPC(pc) - file, _ := fn.FileLine(pc) - got := trimGOPATH(fn.Name(), file) - testFormatRegexp(t, i, got, "%s", tt.want) - } -} - func TestStackTrace(t *testing.T) { tests := []struct { err error @@ -171,24 +153,24 @@ func TestStackTrace(t *testing.T) { }{{ New("ooh"), []string{ "github.com/pkg/errors.TestStackTrace\n" + - "\t.+/github.com/pkg/errors/stack_test.go:172", + "\t.+/github.com/pkg/errors/stack_test.go:154", }, }, { Wrap(New("ooh"), "ahh"), []string{ "github.com/pkg/errors.TestStackTrace\n" + - "\t.+/github.com/pkg/errors/stack_test.go:177", // this is the stack of Wrap, not New + "\t.+/github.com/pkg/errors/stack_test.go:159", // this is the stack of Wrap, not New }, }, { Cause(Wrap(New("ooh"), "ahh")), []string{ "github.com/pkg/errors.TestStackTrace\n" + - "\t.+/github.com/pkg/errors/stack_test.go:182", // this is the stack of New + "\t.+/github.com/pkg/errors/stack_test.go:164", // this is the stack of New }, }, { func() error { return New("ooh") }(), []string{ `github.com/pkg/errors.(func·009|TestStackTrace.func1)` + - "\n\t.+/github.com/pkg/errors/stack_test.go:187", // this is the stack of New + "\n\t.+/github.com/pkg/errors/stack_test.go:169", // this is the stack of New "github.com/pkg/errors.TestStackTrace\n" + - "\t.+/github.com/pkg/errors/stack_test.go:187", // this is the stack of New's caller + "\t.+/github.com/pkg/errors/stack_test.go:169", // this is the stack of New's caller }, }, { Cause(func() error { @@ -197,11 +179,11 @@ func TestStackTrace(t *testing.T) { }() }()), []string{ `github.com/pkg/errors.(func·010|TestStackTrace.func2.1)` + - "\n\t.+/github.com/pkg/errors/stack_test.go:196", // this is the stack of Errorf + "\n\t.+/github.com/pkg/errors/stack_test.go:178", // this is the stack of Errorf `github.com/pkg/errors.(func·011|TestStackTrace.func2)` + - "\n\t.+/github.com/pkg/errors/stack_test.go:197", // this is the stack of Errorf's caller + "\n\t.+/github.com/pkg/errors/stack_test.go:179", // this is the stack of Errorf's caller "github.com/pkg/errors.TestStackTrace\n" + - "\t.+/github.com/pkg/errors/stack_test.go:198", // this is the stack of Errorf's caller's caller + "\t.+/github.com/pkg/errors/stack_test.go:180", // this is the stack of Errorf's caller's caller }, }} for i, tt := range tests { @@ -271,19 +253,19 @@ func TestStackTraceFormat(t *testing.T) { }, { stackTrace()[:2], "%v", - `\[stack_test.go:225 stack_test.go:272\]`, + `\[stack_test.go:207 stack_test.go:254\]`, }, { stackTrace()[:2], "%+v", "\n" + "github.com/pkg/errors.stackTrace\n" + - "\t.+/github.com/pkg/errors/stack_test.go:225\n" + + "\t.+/github.com/pkg/errors/stack_test.go:207\n" + "github.com/pkg/errors.TestStackTraceFormat\n" + - "\t.+/github.com/pkg/errors/stack_test.go:276", + "\t.+/github.com/pkg/errors/stack_test.go:258", }, { stackTrace()[:2], "%#v", - `\[\]errors.Frame{stack_test.go:225, stack_test.go:284}`, + `\[\]errors.Frame{stack_test.go:207, stack_test.go:266}`, }} for i, tt := range tests {