From 8cda4efffcafe6b161a6a8d9ce18b909da1b7914 Mon Sep 17 00:00:00 2001 From: Onsi Fakhouri Date: Fri, 3 Mar 2023 07:59:20 -0700 Subject: [PATCH] ignore empty progress reports --- internal/progress_reporter_manager.go | 5 ++++- internal/progress_reporter_manager_test.go | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/internal/progress_reporter_manager.go b/internal/progress_reporter_manager.go index a39e1f587..2c6e260f7 100644 --- a/internal/progress_reporter_manager.go +++ b/internal/progress_reporter_manager.go @@ -3,6 +3,7 @@ package internal import ( "context" "sort" + "strings" "sync" "github.com/onsi/ginkgo/v2/types" @@ -70,7 +71,9 @@ func (prm *ProgressReporterManager) QueryProgressReporters(ctx context.Context, case <-ctx.Done(): return out } - out = append(out, report) + if strings.TrimSpace(report) != "" { + out = append(out, report) + } } return out } diff --git a/internal/progress_reporter_manager_test.go b/internal/progress_reporter_manager_test.go index 06535cb46..a1d46b348 100644 --- a/internal/progress_reporter_manager_test.go +++ b/internal/progress_reporter_manager_test.go @@ -54,6 +54,15 @@ var _ = Describe("ProgressReporterManager", func() { Eventually(gleak.Goroutines).ShouldNot(gleak.HaveLeaked(startingGoroutines)) }) + It("ignores empty progress reports", func() { + manager.AttachProgressReporter(func() string { return "A" }) + manager.AttachProgressReporter(func() string { return "" }) + manager.AttachProgressReporter(func() string { return " " }) + manager.AttachProgressReporter(func() string { return "C" }) + result := manager.QueryProgressReporters(context.Background(), nil) + Ω(result).Should(Equal([]string{"A", "C"})) + }) + It("catches panics and reports them as failures", func() { manager.AttachProgressReporter(func() string { panic("bam")