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>
16 lines
270 B
Go
16 lines
270 B
Go
package stub
|
|
|
|
// PanicExit is a magic panic value treated as a simulated exit.
|
|
const PanicExit = 0xdeadbeef
|
|
|
|
// HandleExit must be deferred before calling with the stub.
|
|
func HandleExit() {
|
|
r := recover()
|
|
if r == PanicExit {
|
|
return
|
|
}
|
|
if r != nil {
|
|
panic(r)
|
|
}
|
|
}
|