aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-02-06 13:42:47 +0100
committerGitHub <noreply@github.com>2019-02-06 13:42:47 +0100
commitd321c5d942f85b56852532edfd225dcdd591f817 (patch)
tree30ad98bcc2c2dd1136f46a48cbc44d422adfa184 /vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go
parent314e1a9c5a2041d2263bb74f1d21aa2798154d76 (diff)
parent9ac0ebb0791851aea81ecc847802db5a39bfb6e7 (diff)
downloadpodman-d321c5d942f85b56852532edfd225dcdd591f817.tar.gz
podman-d321c5d942f85b56852532edfd225dcdd591f817.tar.bz2
podman-d321c5d942f85b56852532edfd225dcdd591f817.zip
Merge pull request #2259 from vrothberg/vendor-check
Vendor check
Diffstat (limited to 'vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go')
-rw-r--r--vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go b/vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go
new file mode 100644
index 000000000..fa2f0bf73
--- /dev/null
+++ b/vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go
@@ -0,0 +1,32 @@
+package codelocation
+
+import (
+ "regexp"
+ "runtime"
+ "runtime/debug"
+ "strings"
+
+ "github.com/onsi/ginkgo/types"
+)
+
+func New(skip int) types.CodeLocation {
+ _, file, line, _ := runtime.Caller(skip + 1)
+ stackTrace := PruneStack(string(debug.Stack()), skip)
+ return types.CodeLocation{FileName: file, LineNumber: line, FullStackTrace: stackTrace}
+}
+
+func PruneStack(fullStackTrace string, skip int) string {
+ stack := strings.Split(fullStackTrace, "\n")
+ if len(stack) > 2*(skip+1) {
+ stack = stack[2*(skip+1):]
+ }
+ prunedStack := []string{}
+ re := regexp.MustCompile(`\/ginkgo\/|\/pkg\/testing\/|\/pkg\/runtime\/`)
+ for i := 0; i < len(stack)/2; i++ {
+ if !re.Match([]byte(stack[i*2])) {
+ prunedStack = append(prunedStack, stack[i*2])
+ prunedStack = append(prunedStack, stack[i*2+1])
+ }
+ }
+ return strings.Join(prunedStack, "\n")
+}