From 1703089a3c1baed5ec4122786500f76681cbf355 Mon Sep 17 00:00:00 2001 From: Eddie Knight Date: Wed, 23 Oct 2024 20:26:05 -0500 Subject: [PATCH] :bug: Added CLI output for --probes Signed-off-by: Eddie Knight --- cmd/root.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index 4cf2f620238..312ccab1433 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -34,6 +34,7 @@ import ( pmc "github.com/ossf/scorecard/v5/cmd/internal/packagemanager" docs "github.com/ossf/scorecard/v5/docs/checks" sce "github.com/ossf/scorecard/v5/errors" + "github.com/ossf/scorecard/v5/finding" sclog "github.com/ossf/scorecard/v5/log" "github.com/ossf/scorecard/v5/options" "github.com/ossf/scorecard/v5/pkg/scorecard" @@ -164,9 +165,8 @@ func rootCmd(o *options.Options) error { if o.Format == options.FormatDefault { if len(enabledProbes) > 0 { - printProbeResults(enabledProbes) - } else { - printCheckResults(enabledChecks) + printProbeResults(enabledProbes, repoResult.Findings) + return nil } } @@ -180,6 +180,7 @@ func rootCmd(o *options.Options) error { return fmt.Errorf("failed to format results: %w", resultsErr) } + printCheckResults(enabledChecks) // intentionally placed at end to preserve outputting results, even if a check has a runtime error for _, result := range repoResult.Checks { if result.Error != nil { @@ -201,10 +202,17 @@ func printCheckStart(enabledChecks checker.CheckNameToFnMap) { } } -func printProbeResults(enabledProbes []string) { +func printProbeResults(enabledProbes []string, findings []finding.Finding) { for _, probeName := range enabledProbes { fmt.Fprintf(os.Stderr, "Finished probe %s\n", probeName) } + for _, result := range findings { + if result.Remediation != nil { + fmt.Fprintf(os.Stderr, "[%s] Remediation required: %s\n", result.Probe, result.Remediation.Text) + } else { + fmt.Fprintf(os.Stderr, "[%s] Passed: %s\n", result.Probe, result.Message) + } + } } func printCheckResults(enabledChecks checker.CheckNameToFnMap) {