+SetTestDeadlockProtection_WithStackDump helper
Этот коммит содержится в:
родитель
a061cf91d1
коммит
6b1ff27907
1 изменённых файлов: 15 добавлений и 0 удалений
|
|
@ -3,6 +3,7 @@ package godog_and_gomega
|
|||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
|
|
@ -60,3 +61,17 @@ func checkTestTimeout(t time.Duration) {
|
|||
<-time.After(t)
|
||||
panic("Test Suite Timeout")
|
||||
}
|
||||
|
||||
func SetTestDeadlockProtection_WithStackDump(seconds int) {
|
||||
go checkTestTimeout_WithStackDump(time.Duration(seconds) * time.Second)
|
||||
}
|
||||
func checkTestTimeout_WithStackDump(t time.Duration) {
|
||||
<-time.After(t)
|
||||
PrintGoroutineStacks()
|
||||
panic("Test Suite Timeout")
|
||||
}
|
||||
func PrintGoroutineStacks() {
|
||||
buf := make([]byte, 1<<16)
|
||||
stackSize := runtime.Stack(buf, true)
|
||||
fmt.Printf("Goroutine stack trace:\n%s\n", buf[:stackSize])
|
||||
}
|
||||
|
|
|
|||
Загрузка…
Создание таблицы
Сослаться в новой задаче