Skip to content

Commit

Permalink
don't group slow tests
Browse files Browse the repository at this point in the history
  • Loading branch information
egonelbre committed Apr 10, 2019
1 parent 4658b67 commit 4ad6f01
Showing 1 changed file with 72 additions and 23 deletions.
95 changes: 72 additions & 23 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -337,32 +337,33 @@ func (w *consoleWriter) TestsTable(pkgs parse.Packages, options testsTableOption
numPkgs := len(sp)
numScanned := 0

for _, pkg := range sp {
numScanned++
if options.slow != 0 {
var skipped []*parse.Test
var passed []*parse.Test

var all []*parse.Test
if options.skip {
skipped := pkg.TestsByAction(parse.ActionSkip)
all = append(all, skipped...)
}
if options.pass {
passed := pkg.TestsByAction(parse.ActionPass)

// Sort tests within a package by elapsed time in descending order, longest on top.
sort.Slice(passed, func(i, j int) bool {
return passed[i].Elapsed() > passed[j].Elapsed()
})
for _, pkg := range sp {
numScanned++

all = append(all, passed...)
}
if len(all) == 0 {
continue
if options.skip {
skipped = append(skipped, pkg.TestsByAction(parse.ActionSkip)...)
}
if options.pass {
passed = append(passed, pkg.TestsByAction(parse.ActionPass)...)
}
}

if options.slow > 0 && len(all) > options.slow {
all = all[:options.slow]
// Sort tests within a package by elapsed time in descending order, longest on top.
sort.Slice(passed, func(i, j int) bool {
return passed[i].Elapsed() > passed[j].Elapsed()
})
if options.slow > 0 && len(passed) > options.slow {
passed = passed[:options.slow]
}

var all []*parse.Test
all = append(all, skipped...)
all = append(all, passed...)

for _, t := range all {
t.SortEvents()

Expand All @@ -387,10 +388,58 @@ func (w *consoleWriter) TestsTable(pkgs parse.Packages, options testsTableOption
filepath.Base(t.Package),
})
}
} else {
for _, pkg := range sp {
numScanned++

var all []*parse.Test
if options.skip {
skipped := pkg.TestsByAction(parse.ActionSkip)
all = append(all, skipped...)
}
if options.pass {
passed := pkg.TestsByAction(parse.ActionPass)

// Add empty line between package groups except the last package
if numScanned < numPkgs {
tbl.Append([]string{"", "", "", ""})
// Sort tests within a package by elapsed time in descending order, longest on top.
sort.Slice(passed, func(i, j int) bool {
return passed[i].Elapsed() > passed[j].Elapsed()
})

all = append(all, passed...)
}
if len(all) == 0 {
continue
}

for _, t := range all {
t.SortEvents()

var testName strings.Builder
testName.WriteString(t.Name)
if options.trim && testName.Len() > 32 && strings.Count(testName.String(), "/") > 0 {
testName.Reset()
ss := strings.Split(t.Name, "/")
testName.WriteString(ss[0] + "\n")
for i, s := range ss[1:] {
testName.WriteString(" /" + s)
if i != len(ss[1:])-1 {
testName.WriteString("\n")
}
}
}

tbl.Append([]string{
withColor(t.Status(), w.Color),
strconv.FormatFloat(t.Elapsed(), 'f', 2, 64),
testName.String(),
filepath.Base(t.Package),
})
}

// Add empty line between package groups except the last package
if numScanned < numPkgs {
tbl.Append([]string{"", "", "", ""})
}
}
}

Expand Down

0 comments on commit 4ad6f01

Please sign in to comment.