| 12345678910111213141516171819202122232425262728 | 
							- // Package gotest contains internal functionality. Although this package
 
- // contains one or more exported names it is not intended for public
 
- // consumption. See the examples package for how to use this project.
 
- package gotest
 
- import (
 
- 	"runtime"
 
- 	"strings"
 
- )
 
- func ResolveExternalCaller() (file string, line int, name string) {
 
- 	var caller_id uintptr
 
- 	callers := runtime.Callers(0, callStack)
 
- 	for x := 0; x < callers; x++ {
 
- 		caller_id, file, line, _ = runtime.Caller(x)
 
- 		if strings.HasSuffix(file, "_test.go") || strings.HasSuffix(file, "_tests.go") {
 
- 			name = runtime.FuncForPC(caller_id).Name()
 
- 			return
 
- 		}
 
- 	}
 
- 	file, line, name = "<unkown file>", -1, "<unknown name>"
 
- 	return // panic?
 
- }
 
- const maxStackDepth = 100 // This had better be enough...
 
- var callStack []uintptr = make([]uintptr, maxStackDepth, maxStackDepth)
 
 
  |