diff options
Diffstat (limited to 'adapters/gtest/results.go')
-rw-r--r-- | adapters/gtest/results.go | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/adapters/gtest/results.go b/adapters/gtest/results.go index 88e4069..14f5d1d 100644 --- a/adapters/gtest/results.go +++ b/adapters/gtest/results.go @@ -4,10 +4,7 @@ import ( "bytes" "encoding/json" "io" - "log" "time" - - "golang.flu0r1ne.net/planr" ) type gFailure struct { @@ -48,36 +45,51 @@ type gResults struct { } type Result struct { - id string - result planr.TestResult + id string + pass bool + failureMsg string + testOutput string +} + +func failureMsg(failures []gFailure) string { + failure_msg := "" + + for _, failure := range failures { + failure_msg += failure.Failure + "\n" + } + + return failure_msg } -func decodeResults(r io.Reader) []Result { +func decodeResults(r io.Reader) ([]Result, error) { + decoded := make([]Result, 0) + var results gResults buf := bytes.Buffer{} if _, err := buf.ReadFrom(r); err != nil { - log.Fatal(err) + return decoded, err } if err := json.Unmarshal(buf.Bytes(), &results); err != nil { - log.Fatal(err) + return decoded, err } - decoded := make([]Result, 0) for _, suite := range results.Testsuites { for _, test := range suite.Testsuite { n := len(test.Failures) - decoded = append(decoded, Result{ + + res := Result { id: suite.Name + "." + test.Name, - result: planr.TestResult { - Pass: n == 0, - }, - }) + pass: n == 0, + failureMsg: failureMsg(test.Failures), + } + + decoded = append(decoded, res) } } - return decoded + return decoded, nil } |