chore: do not use sentinel errors when unneeded

- main reason being it's a burden to always define sentinel errors at global scope, wrap them with `%w` instead of using a string directly
- only use sentinel errors when it has to be checked using `errors.Is`
- replace all usage of these sentinel errors in `fmt.Errorf` with direct strings that were in the sentinel error
- exclude the sentinel error definition requirement from .golangci.yml
- update unit tests to use ContainersError instead of ErrorIs so it stays as a "not a change detector test" without requiring a sentinel error
This commit is contained in:
Quentin McGaw
2026-05-02 00:50:16 +00:00
parent 9b6f048fe8
commit 4a78989d9d
172 changed files with 666 additions and 1433 deletions
+2 -5
View File
@@ -1,7 +1,6 @@
package server
import (
"errors"
"fmt"
"github.com/qdm12/gluetun/internal/constants"
@@ -12,16 +11,14 @@ type statusWrapper struct {
Status string `json:"status"`
}
var errInvalidStatus = errors.New("invalid status")
func (sw *statusWrapper) getStatus() (status models.LoopStatus, err error) {
status = models.LoopStatus(sw.Status)
switch status {
case constants.Stopped, constants.Running:
return status, nil
default:
return "", fmt.Errorf("%w: %s: possible values are: %s, %s",
errInvalidStatus, sw.Status, constants.Stopped, constants.Running)
return "", fmt.Errorf("invalid status: %s: possible values are: %s, %s",
sw.Status, constants.Stopped, constants.Running)
}
}