fix(pkg): errorlint linter

errorlint linter in pkg

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
pull/31813/head
Matthieu MOREL 8 months ago
parent 9b22aa4e05
commit 0fd27afddb

@ -82,7 +82,7 @@ func existingResourceConflict(resources kube.ResourceList, releaseName, releaseN
// Allow adoption of the resource if it is managed by Helm and is annotated with correct release name and namespace. // Allow adoption of the resource if it is managed by Helm and is annotated with correct release name and namespace.
if err := checkOwnership(existing, releaseName, releaseNamespace); err != nil { if err := checkOwnership(existing, releaseName, releaseNamespace); err != nil {
return fmt.Errorf("%s exists and cannot be imported into the current release: %s", resourceString(info), err) return fmt.Errorf("%s exists and cannot be imported into the current release: %w", resourceString(info), err)
} }
infoCopy := *info infoCopy := *info
@ -105,13 +105,13 @@ func checkOwnership(obj runtime.Object, releaseName, releaseNamespace string) er
var errs []error var errs []error
if err := requireValue(lbls, appManagedByLabel, appManagedByHelm); err != nil { if err := requireValue(lbls, appManagedByLabel, appManagedByHelm); err != nil {
errs = append(errs, fmt.Errorf("label validation error: %s", err)) errs = append(errs, fmt.Errorf("label validation error: %w", err))
} }
if err := requireValue(annos, helmReleaseNameAnnotation, releaseName); err != nil { if err := requireValue(annos, helmReleaseNameAnnotation, releaseName); err != nil {
errs = append(errs, fmt.Errorf("annotation validation error: %s", err)) errs = append(errs, fmt.Errorf("annotation validation error: %w", err))
} }
if err := requireValue(annos, helmReleaseNamespaceAnnotation, releaseNamespace); err != nil { if err := requireValue(annos, helmReleaseNamespaceAnnotation, releaseNamespace); err != nil {
errs = append(errs, fmt.Errorf("annotation validation error: %s", err)) errs = append(errs, fmt.Errorf("annotation validation error: %w", err))
} }
if len(errs) > 0 { if len(errs) > 0 {
@ -143,7 +143,7 @@ func setMetadataVisitor(releaseName, releaseNamespace string, forceOwnership boo
if !forceOwnership { if !forceOwnership {
if err := checkOwnership(info.Object, releaseName, releaseNamespace); err != nil { if err := checkOwnership(info.Object, releaseName, releaseNamespace); err != nil {
return fmt.Errorf("%s cannot be owned: %s", resourceString(info), err) return fmt.Errorf("%s cannot be owned: %w", resourceString(info), err)
} }
} }
@ -151,7 +151,7 @@ func setMetadataVisitor(releaseName, releaseNamespace string, forceOwnership boo
appManagedByLabel: appManagedByHelm, appManagedByLabel: appManagedByHelm,
}); err != nil { }); err != nil {
return fmt.Errorf( return fmt.Errorf(
"%s labels could not be updated: %s", "%s labels could not be updated: %w",
resourceString(info), err, resourceString(info), err,
) )
} }
@ -161,7 +161,7 @@ func setMetadataVisitor(releaseName, releaseNamespace string, forceOwnership boo
helmReleaseNamespaceAnnotation: releaseNamespace, helmReleaseNamespaceAnnotation: releaseNamespace,
}); err != nil { }); err != nil {
return fmt.Errorf( return fmt.Errorf(
"%s annotations could not be updated: %s", "%s annotations could not be updated: %w",
resourceString(info), err, resourceString(info), err,
) )
} }

@ -15,6 +15,7 @@ limitations under the License.
package util package util
import ( import (
"errors"
"os" "os"
"path/filepath" "path/filepath"
"sort" "sort"
@ -251,8 +252,9 @@ func TestProcessDependencyImportValues(t *testing.T) {
if err == nil { if err == nil {
t.Error("expect nil value not found but found it") t.Error("expect nil value not found but found it")
} }
switch xerr := err.(type) { var xerr common.ErrNoValue
case common.ErrNoValue: switch {
case errors.As(err, &xerr):
// We found what we expected // We found what we expected
default: default:
t.Errorf("expected an ErrNoValue but got %q instead", xerr) t.Errorf("expected an ErrNoValue but got %q instead", xerr)

@ -246,7 +246,7 @@ func (c *Client) getKubeClient() (kubernetes.Interface, error) {
// IsReachable tests connectivity to the cluster. // IsReachable tests connectivity to the cluster.
func (c *Client) IsReachable() error { func (c *Client) IsReachable() error {
client, err := c.getKubeClient() client, err := c.getKubeClient()
if err == genericclioptions.ErrEmptyConfig { if errors.Is(err, genericclioptions.ErrEmptyConfig) {
// re-replace kubernetes ErrEmptyConfig error with a friendly error // re-replace kubernetes ErrEmptyConfig error with a friendly error
// moar workarounds for Kubernetes API breaking. // moar workarounds for Kubernetes API breaking.
return errors.New("kubernetes cluster unreachable") return errors.New("kubernetes cluster unreachable")
@ -944,11 +944,16 @@ func (c *Client) Delete(resources ResourceList, policy metav1.DeletionPropagatio
func isIncompatibleServerError(err error) bool { func isIncompatibleServerError(err error) bool {
// 415: Unsupported media type means we're talking to a server which doesn't // 415: Unsupported media type means we're talking to a server which doesn't
// support server-side apply. // support server-side apply.
if _, ok := err.(*apierrors.StatusError); !ok { statusError := &apierrors.StatusError{}
if errors.As(err, &statusError) {
// Non-StatusError means the error isn't because the server is incompatible. // Non-StatusError means the error isn't because the server is incompatible.
return false return false
} }
return err.(*apierrors.StatusError).Status().Code == http.StatusUnsupportedMediaType return func() *apierrors.StatusError {
target := &apierrors.StatusError{}
_ = errors.As(err, &target)
return target
}().Status().Code == http.StatusUnsupportedMediaType
} }
// getManagedFieldsManager returns the manager string. If one was set it will be returned. // getManagedFieldsManager returns the manager string. If one was set it will be returned.
@ -1234,7 +1239,7 @@ func patchResourceServerSide(target *resource.Info, dryRun bool, forceConflicts
) )
if err != nil { if err != nil {
if isIncompatibleServerError(err) { if isIncompatibleServerError(err) {
return fmt.Errorf("server-side apply not available on the server: %v", err) return fmt.Errorf("server-side apply not available on the server: %w", err)
} }
if apierrors.IsConflict(err) { if apierrors.IsConflict(err) {
@ -1251,7 +1256,7 @@ func patchResourceServerSide(target *resource.Info, dryRun bool, forceConflicts
func (c *Client) GetPodList(namespace string, listOptions metav1.ListOptions) (*v1.PodList, error) { func (c *Client) GetPodList(namespace string, listOptions metav1.ListOptions) (*v1.PodList, error) {
podList, err := c.kubeClient.CoreV1().Pods(namespace).List(context.Background(), listOptions) podList, err := c.kubeClient.CoreV1().Pods(namespace).List(context.Background(), listOptions)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to get pod list with options: %+v with error: %v", listOptions, err) return nil, fmt.Errorf("failed to get pod list with options: %+v with error: %w", listOptions, err)
} }
return podList, nil return podList, nil
} }

@ -17,6 +17,7 @@ package provenance
import ( import (
"crypto" "crypto"
"errors"
"fmt" "fmt"
"io" "io"
"os" "os"
@ -398,8 +399,9 @@ func TestVerify(t *testing.T) {
t.Errorf("Expected %s to fail.", testTamperedSigBlock) t.Errorf("Expected %s to fail.", testTamperedSigBlock)
} }
switch err.(type) { var errCase0 pgperrors.SignatureError
case pgperrors.SignatureError: switch {
case errors.As(err, &errCase0):
t.Logf("Tampered sig block error: %s (%T)", err, err) t.Logf("Tampered sig block error: %s (%T)", err, err)
default: default:
t.Errorf("Expected invalid signature error, got %q (%T)", err, err) t.Errorf("Expected invalid signature error, got %q (%T)", err, err)

@ -240,16 +240,16 @@ func (t *parser) key(data map[string]interface{}, nestedNameLevel int) (reterr e
// End of key. Consume =, Get value. // End of key. Consume =, Get value.
// FIXME: Get value list first // FIXME: Get value list first
vl, e := t.valList() vl, e := t.valList()
switch e { switch {
case nil: case e == nil:
set(data, string(k), vl) set(data, string(k), vl)
return nil return nil
case io.EOF: case errors.Is(e, io.EOF):
set(data, string(k), "") set(data, string(k), "")
return e return e
case ErrNotList: case errors.Is(e, ErrNotList):
rs, e := t.val() rs, e := t.val()
if e != nil && e != io.EOF { if e != nil && !errors.Is(e, io.EOF) {
return e return e
} }
v, e := t.reader(rs) v, e := t.reader(rs)
@ -373,14 +373,14 @@ func (t *parser) listItem(list []interface{}, i, nestedNameLevel int) ([]interfa
return list, err return list, err
} }
vl, e := t.valList() vl, e := t.valList()
switch e { switch {
case nil: case e == nil:
return setIndex(list, i, vl) return setIndex(list, i, vl)
case io.EOF: case errors.Is(e, io.EOF):
return setIndex(list, i, "") return setIndex(list, i, "")
case ErrNotList: case errors.Is(e, ErrNotList):
rs, e := t.val() rs, e := t.val()
if e != nil && e != io.EOF { if e != nil && !errors.Is(e, io.EOF) {
return list, e return list, e
} }
v, e := t.reader(rs) v, e := t.reader(rs)
@ -479,7 +479,7 @@ func (t *parser) valList() ([]interface{}, error) {
for { for {
switch rs, last, err := runesUntil(t.sc, stop); { switch rs, last, err := runesUntil(t.sc, stop); {
case err != nil: case err != nil:
if err == io.EOF { if errors.Is(err, io.EOF) {
err = errors.New("list must terminate with '}'") err = errors.New("list must terminate with '}'")
} }
return list, err return list, err

Loading…
Cancel
Save