Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7cf5827f22 | ||
|
|
09fd2cb2a4 | ||
|
|
74383ddcc0 |
+22
-12
@@ -5,8 +5,10 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"encoding/xml"
|
"encoding/xml"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t *Test) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
func (t *Test) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
||||||
@@ -28,8 +30,10 @@ func (t *Test) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
|||||||
Message: "failed",
|
Message: "failed",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
log.Printf("TIME %f", t.Time)
|
||||||
|
parts := strings.Split(t.Name, "/")
|
||||||
tc := Testcase{
|
tc := Testcase{
|
||||||
Name: t.Name,
|
Name: parts[len(parts)-1],
|
||||||
// parent class name
|
// parent class name
|
||||||
Classname: classname,
|
Classname: classname,
|
||||||
Time: t.Time,
|
Time: t.Time,
|
||||||
@@ -99,8 +103,8 @@ func main() {
|
|||||||
|
|
||||||
testsuites := Testsuites{}
|
testsuites := Testsuites{}
|
||||||
|
|
||||||
if len(os.Args) != 2 {
|
if len(os.Args) != 2 && len(os.Args) != 3 {
|
||||||
fmt.Fprintf(os.Stderr, "Usage: go2junit <outputdir> \n")
|
fmt.Fprintf(os.Stderr, "Usage: go2junit <outputdir> [<prefix>]\n")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
path := os.Args[1]
|
path := os.Args[1]
|
||||||
@@ -109,6 +113,10 @@ func main() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
prefix := ""
|
||||||
|
if len(os.Args) == 3 {
|
||||||
|
prefix = os.Args[2]
|
||||||
|
}
|
||||||
|
|
||||||
var file = os.Stdin
|
var file = os.Stdin
|
||||||
|
|
||||||
@@ -127,26 +135,28 @@ func main() {
|
|||||||
|
|
||||||
//.fmt.Printf("Parsed %d:\n%v\n\n", lineno, item)
|
//.fmt.Printf("Parsed %d:\n%v\n\n", lineno, item)
|
||||||
|
|
||||||
|
pkg := prefix + item.Package
|
||||||
switch item.Action {
|
switch item.Action {
|
||||||
case "start":
|
case "start":
|
||||||
testsuites.Suite(item.Time, item.Package)
|
testsuites.Suite(item.Time, pkg)
|
||||||
case "run":
|
case "run":
|
||||||
testsuites.Test(item.Time, item.Package, item.Test)
|
fmt.Println()
|
||||||
|
testsuites.Test(item.Time, pkg, item.Test)
|
||||||
case "output":
|
case "output":
|
||||||
testsuites.Output(item.Time, item.Package, item.Test, item.Output)
|
testsuites.Output(item.Time, pkg, item.Test, item.Output)
|
||||||
fmt.Printf("%s", item.Output)
|
fmt.Printf("%s", item.Output)
|
||||||
case "pause":
|
case "pause":
|
||||||
testsuites.Output(item.Time, item.Package, item.Test, "PAUSED")
|
testsuites.Output(item.Time, pkg, item.Test, "PAUSED")
|
||||||
case "cont":
|
case "cont":
|
||||||
testsuites.Output(item.Time, item.Package, item.Test, "CONTINUED")
|
testsuites.Output(item.Time, pkg, item.Test, "CONTINUED")
|
||||||
case "pass":
|
case "pass":
|
||||||
testsuites.Pass(item.Time, item.Package, item.Test, item.Elapsed)
|
testsuites.Pass(item.Time, pkg, item.Test, item.Elapsed)
|
||||||
case "bench":
|
case "bench":
|
||||||
testsuites.Bench(item.Time, item.Package, item.Test, item.Output, item.Elapsed)
|
testsuites.Bench(item.Time, pkg, item.Test, item.Output, item.Elapsed)
|
||||||
case "fail":
|
case "fail":
|
||||||
testsuites.Fail(item.Time, item.Package, item.Test, item.Elapsed)
|
testsuites.Fail(item.Time, pkg, item.Test, item.Elapsed)
|
||||||
case "skip":
|
case "skip":
|
||||||
testsuites.Skip(item.Time, item.Package, item.Test)
|
testsuites.Skip(item.Time, pkg, item.Test)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
testsuites.Complete()
|
testsuites.Complete()
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/xml"
|
"encoding/xml"
|
||||||
"log"
|
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@@ -76,7 +75,6 @@ func (testsuites *Testsuites) getRootSuite(t time.Time, pkg string, create bool)
|
|||||||
Skipped: 0,
|
Skipped: 0,
|
||||||
Timestamp: t,
|
Timestamp: t,
|
||||||
}
|
}
|
||||||
log.Printf("Adding suite %s", pkg)
|
|
||||||
testsuites.Suites = append(testsuites.Suites, &suite)
|
testsuites.Suites = append(testsuites.Suites, &suite)
|
||||||
return &suite
|
return &suite
|
||||||
}
|
}
|
||||||
@@ -142,6 +140,8 @@ func (testsuites *Testsuites) Pass(t time.Time, pkg string, test string, elapsed
|
|||||||
if testsuites.getRootSuite(t, pkg+"/"+test, false) != nil {
|
if testsuites.getRootSuite(t, pkg+"/"+test, false) != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
tc := testsuites.getTest(t, pkg, test)
|
||||||
|
tc.Time = elapsed
|
||||||
}
|
}
|
||||||
|
|
||||||
func (testsuites *Testsuites) Bench(t time.Time, pkg string, test string, output string, elapsed float64) {
|
func (testsuites *Testsuites) Bench(t time.Time, pkg string, test string, output string, elapsed float64) {
|
||||||
|
|||||||
Reference in New Issue
Block a user