aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/stub/exit_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'container/stub/exit_test.go')
-rw-r--r--container/stub/exit_test.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/container/stub/exit_test.go b/container/stub/exit_test.go
new file mode 100644
index 00000000..50219712
--- /dev/null
+++ b/container/stub/exit_test.go
@@ -0,0 +1,30 @@
+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)
+ })
+}