summaryrefslogtreecommitdiff
path: root/src/mongo/gotools/vendor/src/github.com/smartystreets/goconvey/web/server/parser/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/gotools/vendor/src/github.com/smartystreets/goconvey/web/server/parser/parser.go')
-rw-r--r--src/mongo/gotools/vendor/src/github.com/smartystreets/goconvey/web/server/parser/parser.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/mongo/gotools/vendor/src/github.com/smartystreets/goconvey/web/server/parser/parser.go b/src/mongo/gotools/vendor/src/github.com/smartystreets/goconvey/web/server/parser/parser.go
new file mode 100644
index 00000000000..f6250caf346
--- /dev/null
+++ b/src/mongo/gotools/vendor/src/github.com/smartystreets/goconvey/web/server/parser/parser.go
@@ -0,0 +1,32 @@
+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
+}