aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/stub/errors.go
blob: d97b6256f9ac724a3fdef8d0d4358da19ebd7144 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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.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
}