aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/stub/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/stub/errors.go')
-rw-r--r--internal/stub/errors.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/internal/stub/errors.go b/internal/stub/errors.go
new file mode 100644
index 00000000..c89149be
--- /dev/null
+++ b/internal/stub/errors.go
@@ -0,0 +1,28 @@
+package stub
+
+import (
+ "errors"
+ "strconv"
+)
+
+var (
+ ErrCheck = errors.New("one or more arguments did not match")
+)
+
+// UniqueError is an error that only equivalates to another [UniqueError] with
+// the same magic value.
+type UniqueError uintptr
+
+func (e UniqueError) Error() string {
+ return "unique error " +
+ strconv.FormatUint(uint64(e), 10) +
+ " 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
+}