123456789101112131415161718192021222324252627282930313233343536 |
- package threading
- import (
- "io/ioutil"
- "log"
- "testing"
- "github.com/stretchr/testify/assert"
- "github.com/tal-tech/go-zero/core/lang"
- )
- func TestRoutineId(t *testing.T) {
- assert.True(t, RoutineId() > 0)
- }
- func TestRunSafe(t *testing.T) {
- log.SetOutput(ioutil.Discard)
- i := 0
- defer func() {
- assert.Equal(t, 1, i)
- }()
- ch := make(chan lang.PlaceholderType)
- go RunSafe(func() {
- defer func() {
- ch <- lang.Placeholder
- }()
- panic("panic")
- })
- <-ch
- i++
- }
|