grim/resticide

merging
develop
2015-11-09, Gary Kramlich
6bdbec3f6a40
merging
package main
type ReportHandler interface {
Start(tests int)
Finish(tests int, passed int, failed int)
TestStart(test Test)
TestFinish(test Test, res TestResult)
LoadTestsFailed(err error)
LoadTestFailed(path string, err error)
}
type Reporter struct {
handlers []ReportHandler
}
type HandlerFunc func(handler ReportHandler)
func (reporter Reporter)report(function HandlerFunc) {
for _, handler := range reporter.handlers {
function(handler)
}
}
func (reporter *Reporter)AddHandler(handler ReportHandler) {
reporter.handlers = append(reporter.handlers, handler)
}
func (reporter Reporter)Start(tests int) {
reporter.report(func(handler ReportHandler) {
handler.Start(tests)
})
}
func (reporter Reporter)Finish(tests int, passed int, failed int) {
reporter.report(func(handler ReportHandler) {
handler.Finish(tests, passed, failed)
})
}
func (reporter Reporter)TestStart(test Test) {
reporter.report(func(handler ReportHandler) {
handler.TestStart(test)
})
}
func (reporter Reporter)TestFinish(test Test, res TestResult) {
reporter.report(func(handler ReportHandler) {
handler.TestFinish(test, res)
})
}
func (reporter Reporter)LoadTestsFailed(err error) {
reporter.report(func(handler ReportHandler) {
handler.LoadTestsFailed(err)
})
}
func (reporter Reporter)LoadTestFailed(path string, err error) {
reporter.report(func(handler ReportHandler) {
handler.LoadTestFailed(path, err)
})
}