simplification and elapsed time now available everywhere.
This commit is contained in:
+15
-36
@@ -39,7 +39,8 @@ type Test struct {
|
||||
Tests []*Test `xml:"testsuite,omitempty"`
|
||||
SystemOut string `xml:"system-out,omitempty"`
|
||||
|
||||
Parent *Test `xml:"-"`
|
||||
parent *Test
|
||||
t0 time.Time
|
||||
}
|
||||
|
||||
type Result struct {
|
||||
@@ -74,6 +75,7 @@ func (testsuites *Testsuites) getRootSuite(t time.Time, pkg string, create bool)
|
||||
Name: pkg,
|
||||
Skipped: 0,
|
||||
Timestamp: t,
|
||||
t0: t,
|
||||
}
|
||||
testsuites.Suites = append(testsuites.Suites, &suite)
|
||||
return &suite
|
||||
@@ -88,12 +90,16 @@ func (suite *Test) getSuite(t time.Time, name string) *Test {
|
||||
s := Test{
|
||||
Name: suite.Name + "/" + name,
|
||||
Timestamp: t,
|
||||
t0: t,
|
||||
}
|
||||
suite.Tests = append(suite.Tests, &s)
|
||||
return &s
|
||||
}
|
||||
|
||||
func (suite *Test) getTest(t time.Time, testname string) *Test {
|
||||
if testname == "" {
|
||||
return suite
|
||||
}
|
||||
suitename := suite.Name
|
||||
path := strings.Split(testname, "/")
|
||||
for i := 0; i < len(path); i++ {
|
||||
@@ -109,7 +115,7 @@ func (testsuites *Testsuites) getTest(t time.Time, pkg string, testname string)
|
||||
return test
|
||||
}
|
||||
|
||||
func (testsuites *Testsuites) Suite(t time.Time, pkg string) {
|
||||
func (testsuites *Testsuites) Start(t time.Time, pkg string) {
|
||||
testsuites.getRootSuite(t, pkg, true)
|
||||
}
|
||||
|
||||
@@ -119,56 +125,29 @@ func (testsuites *Testsuites) Test(t time.Time, pkg string, test string) {
|
||||
}
|
||||
|
||||
func (testsuites *Testsuites) Output(t time.Time, pkg string, test string, output string) {
|
||||
if test == "" {
|
||||
ts := testsuites.getRootSuite(t, pkg, true)
|
||||
ts.SystemOut = ts.SystemOut + output
|
||||
return
|
||||
}
|
||||
ts := testsuites.getRootSuite(t, pkg+"/"+test, false)
|
||||
if ts != nil {
|
||||
ts.SystemOut = ts.SystemOut + output
|
||||
return
|
||||
}
|
||||
tc := testsuites.getTest(t, pkg, test)
|
||||
tc.SystemOut = tc.SystemOut + output
|
||||
}
|
||||
|
||||
func (testsuites *Testsuites) Pass(t time.Time, pkg string, test string, elapsed float64) {
|
||||
if test == "" {
|
||||
return
|
||||
}
|
||||
if testsuites.getRootSuite(t, pkg+"/"+test, false) != nil {
|
||||
return
|
||||
}
|
||||
func (testsuites *Testsuites) Pass(t time.Time, pkg string, test string) {
|
||||
tc := testsuites.getTest(t, pkg, test)
|
||||
tc.Time = elapsed
|
||||
tc.Time = float64(t.Sub(tc.t0).Nanoseconds()) / 1000_000_000.0
|
||||
}
|
||||
|
||||
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) {
|
||||
tc := testsuites.getTest(t, pkg, test)
|
||||
tc.SystemOut = tc.SystemOut + output + "\n"
|
||||
}
|
||||
|
||||
func (testsuites *Testsuites) Fail(t time.Time, pkg string, test string, elapsed float64) {
|
||||
if test == "" {
|
||||
return
|
||||
}
|
||||
if testsuites.getRootSuite(t, pkg+"/"+test, false) != nil {
|
||||
return
|
||||
}
|
||||
func (testsuites *Testsuites) Fail(t time.Time, pkg string, test string) {
|
||||
tc := testsuites.getTest(t, pkg, test)
|
||||
tc.Time = elapsed
|
||||
tc.Time = float64(t.Sub(tc.t0).Nanoseconds()) / 1000_000_000.0
|
||||
tc.Failures = 1
|
||||
}
|
||||
|
||||
func (testsuites *Testsuites) Skip(t time.Time, pkg string, test string) {
|
||||
if test == "" {
|
||||
return
|
||||
}
|
||||
if testsuites.getRootSuite(t, pkg+"/"+test, false) != nil {
|
||||
return
|
||||
}
|
||||
tc := testsuites.getTest(t, pkg, test)
|
||||
tc.Time = float64(t.Sub(tc.t0).Nanoseconds()) / 1000_000_000.0
|
||||
tc.Skipped = 1
|
||||
}
|
||||
|
||||
@@ -190,7 +169,7 @@ func (suite *Test) Complete() {
|
||||
suite.Errors += ts.Errors
|
||||
suite.Disabled += ts.Disabled
|
||||
suite.Skipped += ts.Skipped
|
||||
ts.Parent = suite
|
||||
ts.parent = suite
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user