diff --git a/api/filters/replacement/replacement.go b/api/filters/replacement/replacement.go index a588e1408b..b912826078 100644 --- a/api/filters/replacement/replacement.go +++ b/api/filters/replacement/replacement.go @@ -4,10 +4,10 @@ package replacement import ( + "errors" "fmt" "strings" - "github.com/go-errors/errors" "sigs.k8s.io/kustomize/api/internal/utils" "sigs.k8s.io/kustomize/api/resource" "sigs.k8s.io/kustomize/api/types" @@ -196,9 +196,12 @@ func copyValueToTarget(target *yaml.RNode, value *yaml.RNode, selector *types.Ta // may return multiple fields, always wrapped in a sequence node foundFieldSequence, lookupErr := target.Pipe(&yaml.PathMatcher{Path: fieldPath}) if lookupErr != nil { - return errors.WrapPrefix(lookupErr, "error finding field in replacement target", 0) + return fmt.Errorf("error finding field in replacement target: %w", lookupErr) } targetFields, err = foundFieldSequence.Elements() + if err != nil { + return fmt.Errorf("error fetching elements in replacement target: %w", err) + } } for _, t := range targetFields { diff --git a/kyaml/yaml/fns_test.go b/kyaml/yaml/fns_test.go index 82583f81c0..e217a07b1b 100644 --- a/kyaml/yaml/fns_test.go +++ b/kyaml/yaml/fns_test.go @@ -580,31 +580,6 @@ a: {} assert.Equal(t, "h\n", assertNoErrorString(t)(rn.String())) } -// Don't keep this test--it is probably redundant, but clearly shows the problem is not being caused by LookupCreate -func TestLookupCreate_5(t *testing.T) { - doc := ` -spec: - template: - spec: - containers: - - name: a - - name: b - restartPolicy: Always -` - node, err := Parse(doc) - assert.NoError(t, err) - rn, err := node.Pipe( - LookupCreate(yaml.MappingNode, "spec", "template", "spec")) - - assert.NoError(t, err) - expected := `containers: -- name: a -- name: b -restartPolicy: Always -` - assert.Equal(t, expected, assertNoErrorString(t)(rn.String())) -} - func TestLookup_Fn_create_with_wildcard_error(t *testing.T) { node, err := Parse(s) assert.NoError(t, err)