diff --git a/test/e2e/e2e_test.go b/test/e2e/e2e_test.go index 67131b1465b..088e611b0ca 100644 --- a/test/e2e/e2e_test.go +++ b/test/e2e/e2e_test.go @@ -151,6 +151,10 @@ var _ = ginkgo.ReportAfterEach(func(report ginkgo.SpecReport) { progressReporter.ProcessSpecReport(report) }) +var _ = ginkgo.ReportBeforeSuite(func(report ginkgo.Report) { + progressReporter.SetTestsTotal(report.PreRunStats.SpecsThatWillRun) +}) + var _ = ginkgo.ReportAfterSuite("Kubernetes e2e suite report", func(report ginkgo.Report) { var err error // The DetailsRepoerter will output details about every test (name, files, lines, etc) which helps diff --git a/test/e2e/reporters/progress.go b/test/e2e/reporters/progress.go index e06a5532e30..3547ee5f8d5 100644 --- a/test/e2e/reporters/progress.go +++ b/test/e2e/reporters/progress.go @@ -33,11 +33,10 @@ import ( // ProgressReporter is a ginkgo reporter which tracks the total number of tests to be run/passed/failed/skipped. // As new tests are completed it updates the values and prints them to stdout and optionally, sends the updates // to the configured URL. -// TODO: Number of test specs is not available now, we can add it back when this is fixed in the Ginkgo V2. -// pls see: https://github.com/kubernetes/kubernetes/issues/109744 type ProgressReporter struct { LastMsg string `json:"msg"` + TestsTotal int `json:"total"` TestsCompleted int `json:"completed"` TestsSkipped int `json:"skipped"` TestsFailed int `json:"failed"` @@ -109,6 +108,11 @@ func (reporter *ProgressReporter) SetStartMsg() { reporter.SendUpdates() } +func (reporter *ProgressReporter) SetTestsTotal(totalSpec int) { + reporter.TestsTotal = totalSpec + reporter.SendUpdates() +} + // ProcessSpecReport summarizes the report state and sends the state to the configured endpoint if set. func (reporter *ProgressReporter) ProcessSpecReport(report ginkgo.SpecReport) { testName := strings.Join(report.ContainerHierarchyTexts, " ")