forked from rosa/hakurei
internal/stub: move from container
This package solves a very specific stubbing use case, in a less than elegant manner. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
28
internal/stub/errors.go
Normal file
28
internal/stub/errors.go
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user