All checks were successful
Test / Create distribution (push) Successful in 1m2s
Test / Sandbox (push) Successful in 2m40s
Test / Hakurei (push) Successful in 3m39s
Test / ShareFS (push) Successful in 3m39s
Test / Sandbox (race detector) (push) Successful in 5m4s
Test / Hakurei (race detector) (push) Successful in 6m8s
Test / Flake checks (push) Successful in 1m19s
This package solves a very specific stubbing use case, in a less than elegant manner. Signed-off-by: Ophestra <cat@gensokyo.uk>
29 lines
513 B
Go
29 lines
513 B
Go
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
|
|
}
|