gtr,parser/gotest: move Event and building a report to parser/gotest

The Parse method now directly returns a report, rather than a list of
events that then need to be converted into a report. As part of this
change, the Event struct has also been moved to the gotest package. It's
now the responsibility of the parser to construct a gtr.Report.
This commit is contained in:
Joël Stemmer
2022-03-14 23:17:57 +00:00
parent 832cc97037
commit c78e04707f
9 changed files with 272 additions and 252 deletions

View File

@ -9,7 +9,6 @@ import (
"strings"
"time"
"github.com/jstemmer/go-junit-report/v2/pkg/gtr"
"github.com/jstemmer/go-junit-report/v2/pkg/junit"
"github.com/jstemmer/go-junit-report/v2/pkg/parser/gotest"
)
@ -76,18 +75,18 @@ func main() {
in = io.TeeReader(in, os.Stdout)
}
parser := gotest.New()
events, err := parser.Parse(in)
parser := gotest.New(gotest.PackageName(*packageName))
report, err := parser.Parse(in)
if err != nil {
exitf("error reading input: %s\n", err)
exitf("error parsing input: %s\n", err)
}
if *printEvents {
for i, ev := range events {
for i, ev := range parser.Events() {
fmt.Printf("%02d: %#v\n", i, ev)
}
}
report := gtr.FromEvents(events, *packageName)
for i := range report.Packages {
for k, v := range properties {
report.Packages[i].SetProperty(k, v)