aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/stub/errors_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/errors_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/errors_test.go')
-rw-r--r--container/stub/errors_test.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/container/stub/errors_test.go b/container/stub/errors_test.go
new file mode 100644
index 00000000..4d9252de
--- /dev/null
+++ b/container/stub/errors_test.go
@@ -0,0 +1,35 @@
+package stub_test
+
+import (
+ "errors"
+ "syscall"
+ "testing"
+
+ "hakurei.app/container/stub"
+)
+
+func TestUniqueError(t *testing.T) {
+ t.Run("format", func(t *testing.T) {
+ want := "unique error 2989 injected by the test suite"
+ if got := stub.UniqueError(0xbad).Error(); got != want {
+ t.Errorf("Error: %q, want %q", got, want)
+ }
+ })
+
+ t.Run("is", func(t *testing.T) {
+ t.Run("type", func(t *testing.T) {
+ if errors.Is(stub.UniqueError(0), syscall.ENOTRECOVERABLE) {
+ t.Error("Is: unexpected true")
+ }
+ })
+
+ t.Run("val", func(t *testing.T) {
+ if errors.Is(stub.UniqueError(0), stub.UniqueError(1)) {
+ t.Error("Is: unexpected true")
+ }
+ if !errors.Is(stub.UniqueError(0xbad), stub.UniqueError(0xbad)) {
+ t.Error("Is: unexpected false")
+ }
+ })
+ })
+}