aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/stub/exit_test.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-08-31 23:11:25 +0900
committerOphestra <cat@gensokyo.uk>2025-08-31 23:11:25 +0900
commit49600a6f46d99ff35d883381670548de1f01846e (patch)
tree9c4a8067f2155eca36a29c6bb99f82ecb81c2495 /container/stub/exit_test.go
parentb489a3bba15bc6d808d7cc9c17f74dd833d32b9e (diff)
container/stub: export stub helpers
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>
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)
+ })
+}