All checks were successful
Test / Create distribution (push) Successful in 33s
Test / Sandbox (push) Successful in 1m53s
Test / Hakurei (push) Successful in 3m18s
Test / Sandbox (race detector) (push) Successful in 3m40s
Test / Hpkg (push) Successful in 3m35s
Test / Hakurei (race detector) (push) Successful in 5m19s
Test / Flake checks (push) Successful in 1m39s
These are very useful in many packages containing relatively large amount of code making calls to difficult or impossible to stub functions. Signed-off-by: Ophestra <cat@gensokyo.uk>
31 lines
492 B
Go
31 lines
492 B
Go
package stub_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"hakurei.app/container/stub"
|
|
)
|
|
|
|
func TestHandleExit(t *testing.T) {
|
|
t.Run("exit", func(t *testing.T) {
|
|
defer stub.HandleExit()
|
|
panic(stub.PanicExit)
|
|
})
|
|
|
|
t.Run("nil", func(t *testing.T) {
|
|
defer stub.HandleExit()
|
|
})
|
|
|
|
t.Run("passthrough", func(t *testing.T) {
|
|
defer func() {
|
|
want := 0xcafebabe
|
|
if r := recover(); r != want {
|
|
t.Errorf("recover: %v, want %v", r, want)
|
|
}
|
|
|
|
}()
|
|
defer stub.HandleExit()
|
|
panic(0xcafebabe)
|
|
})
|
|
}
|