package parser import ( "log" "github.com/smartystreets/goconvey/web/server/contract" ) type Parser struct { parser func(*contract.PackageResult, string) } func (self *Parser) Parse(packages []*contract.Package) { for _, p := range packages { if p.Active() && p.HasUsableResult() { self.parser(p.Result, p.Output) } else if p.Ignored { p.Result.Outcome = contract.Ignored } else if p.Disabled { p.Result.Outcome = contract.Disabled } else { p.Result.Outcome = contract.TestRunAbortedUnexpectedly } log.Printf("[%s]: %s\n", p.Result.Outcome, p.Name) } } func NewParser(helper func(*contract.PackageResult, string)) *Parser { self := new(Parser) self.parser = helper return self }