fix error handling

This commit is contained in:
yugo kobayashi
2022-08-26 14:38:51 +00:00
parent f086269d6e
commit a54226e0a9
5 changed files with 12 additions and 9 deletions

View File

@@ -54,11 +54,11 @@ func resourceToRNode(res *resource.Resource) (*yaml.RNode, error) {
func GetFunctionSpec(res *resource.Resource) (*runtimeutil.FunctionSpec, error) {
rnode, err := resourceToRNode(res)
if err != nil {
return nil, fmt.Errorf("%w", err)
return nil, fmt.Errorf("could not convert resource to RNode: %w", err)
}
functionSpec, err := runtimeutil.GetFunctionSpec(rnode)
if err != nil {
return nil, fmt.Errorf("%w", err)
return nil, fmt.Errorf("failed to get FunctionSpec: %w", err)
}
return functionSpec, nil
}

View File

@@ -58,11 +58,11 @@ func (l *Loader) LoadGenerators(
for _, res := range rm.Resources() {
g, err := l.LoadGenerator(ldr, v, res)
if err != nil {
return nil, fmt.Errorf("%w", err)
return nil, fmt.Errorf("failed to load generator: %w", err)
}
generatorOrigin, err := resource.OriginFromCustomPlugin(res)
if err != nil {
return nil, fmt.Errorf("%w", err)
return nil, fmt.Errorf("failed to get origin from CustomPlugin: %w", err)
}
result = append(result, &resmap.GeneratorWithProperties{Generator: g, Origin: generatorOrigin})
}

View File

@@ -737,7 +737,7 @@ generators:
fSys,
tmpDir.String())
assert.Error(t, err)
assert.Contains(t, err.Error(), "loading generator plugins: plugin RenderHelmChart."+
assert.Contains(t, err.Error(), "loading generator plugins: failed to load generator: plugin RenderHelmChart."+
"v1alpha1.[noGrp]/demo.[noNs] with mount path '/tmp/dir' is not permitted; mount paths must"+
" be relative to the current kustomization directory")
}
@@ -770,7 +770,7 @@ generators:
fSys,
tmpDir.String())
assert.Error(t, err)
assert.Contains(t, err.Error(), "loading generator plugins: plugin RenderHelmChart."+
assert.Contains(t, err.Error(), "loading generator plugins: failed to load generator: plugin RenderHelmChart."+
"v1alpha1.[noGrp]/demo.[noNs] with mount path './tmp/../../dir' is not permitted; mount paths must "+
"be under the current kustomization directory")
}

View File

@@ -206,9 +206,12 @@ func GetFunctionSpec(n *yaml.RNode) (*FunctionSpec, error) {
if err != nil {
return nil, nil
}
if fn, err := getFunctionSpecFromAnnotation(n, meta); err != nil {
fn, err := getFunctionSpecFromAnnotation(n, meta)
if err != nil {
return nil, err
} else if fn != nil {
}
if fn != nil {
return fn, nil
}

View File

@@ -310,7 +310,7 @@ func (r RunFns) getFunctionFilters(global bool, fns ...*yaml.RNode) (
api := fns[i]
spec, err := runtimeutil.GetFunctionSpec(api)
if err != nil {
return nil, fmt.Errorf("%w", err)
return nil, fmt.Errorf("failed to get FunctionSpec: %w", err)
}
if spec == nil {
// resource doesn't have function spec