diff --git a/app/cli/cmd/policy_develop_eval.go b/app/cli/cmd/policy_develop_eval.go index 4e5409942..1da7dd1ba 100644 --- a/app/cli/cmd/policy_develop_eval.go +++ b/app/cli/cmd/policy_develop_eval.go @@ -60,7 +60,7 @@ evaluates the policy against the provided material or attestation.`, result, err := policyEval.Run() if err != nil { - return newGracefulError(err) + return err } return encodeJSON(result) diff --git a/app/cli/internal/policydevel/eval.go b/app/cli/internal/policydevel/eval.go index eb7393888..ccb997347 100644 --- a/app/cli/internal/policydevel/eval.go +++ b/app/cli/internal/policydevel/eval.go @@ -48,13 +48,13 @@ func Evaluate(opts *EvalOptions, logger zerolog.Logger) ([]*EvalResult, error) { // 1. Create crafting schema schema, err := createCraftingSchema(opts.PolicyPath, opts.Inputs) if err != nil { - return nil, fmt.Errorf("creating crafting schema: %w", err) + return nil, err } // 2. Craft material with annotations material, err := craftMaterial(opts.MaterialPath, opts.MaterialKind, &logger) if err != nil { - return nil, fmt.Errorf("material crafting: %w", err) + return nil, err } material.Annotations = opts.Annotations @@ -95,14 +95,7 @@ func verifyMaterial(schema *v1.CraftingSchema, material *v12.Attestation_Materia // no evaluations were returned if len(policyEvs) == 0 { - return []*EvalResult{ - { - Ignored: true, - Skipped: false, - SkipReasons: []string{}, - Violations: []string{}, - }, - }, nil + return nil, fmt.Errorf("no execution branch matched for kind %s", material.MaterialType.String()) } results := make([]*EvalResult, 0, len(policyEvs)) diff --git a/app/cli/internal/policydevel/eval_test.go b/app/cli/internal/policydevel/eval_test.go index 140144374..587d63253 100644 --- a/app/cli/internal/policydevel/eval_test.go +++ b/app/cli/internal/policydevel/eval_test.go @@ -41,9 +41,8 @@ func TestEvaluate(t *testing.T) { } results, err := Evaluate(opts, logger) - require.NoError(t, err) - require.NotEmpty(t, results) - assert.NotNil(t, results[0]) + require.Error(t, err) + assert.Empty(t, results) }) t.Run("evaluation with auto-detected SBOM CYCLONEDX kind", func(t *testing.T) {