diff options
Diffstat (limited to 'htesting')
-rw-r--r-- | htesting/test_helpers.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/htesting/test_helpers.go b/htesting/test_helpers.go index dc303b2e5..660c76a44 100644 --- a/htesting/test_helpers.go +++ b/htesting/test_helpers.go @@ -14,8 +14,10 @@ package htesting import ( + "math/rand" "runtime" "strings" + "time" "github.com/spf13/afero" ) @@ -37,3 +39,20 @@ func CreateTempDir(fs afero.Fs, prefix string) (string, func(), error) { } return tempDir, func() { fs.RemoveAll(tempDir) }, nil } + +// BailOut panics with a stack trace after the given duration. Useful for +// hanging tests. +func BailOut(after time.Duration) { + time.AfterFunc(after, func() { + buf := make([]byte, 1<<16) + runtime.Stack(buf, true) + panic(string(buf)) + }) + +} + +var rnd = rand.New(rand.NewSource(time.Now().UnixNano())) + +func RandIntn(n int) int { + return rnd.Intn(n) +} |