aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/stub/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'container/stub/errors.go')
-rw-r--r--container/stub/errors.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/container/stub/errors.go b/container/stub/errors.go
new file mode 100644
index 00000000..4d13a67f
--- /dev/null
+++ b/container/stub/errors.go
@@ -0,0 +1,25 @@
+package stub
+
+import (
+ "errors"
+ "strconv"
+)
+
+var (
+ ErrCheck = errors.New("one or more arguments did not match")
+)
+
+// UniqueError is an error that only equivalates to other [UniqueError] with the same magic value.
+type UniqueError uintptr
+
+func (e UniqueError) Error() string {
+ return "unique error " + strconv.Itoa(int(e)) + " injected by the test suite"
+}
+
+func (e UniqueError) Is(target error) bool {
+ var u UniqueError
+ if !errors.As(target, &u) {
+ return false
+ }
+ return e == u
+}