testing: fix benchmark logging output

Этот коммит содержится в:
Damian Gryski 2023-04-09 09:41:15 -07:00 коммит произвёл Ron Evans
родитель 42175496eb
коммит e00a2395d9
2 изменённых файлов: 16 добавлений и 3 удалений

Просмотреть файл

@ -11,6 +11,7 @@ import (
"fmt"
"io"
"math"
"os"
"runtime"
"strconv"
"strings"
@ -378,7 +379,8 @@ func runBenchmarks(matchString func(pat, str string) (bool, error), benchmarks [
}
main := &B{
common: common{
name: "Main",
output: &logger{},
name: "Main",
},
benchTime: benchTime,
benchFunc: func(b *B) {
@ -416,6 +418,12 @@ func (b *B) processBench(ctx *benchContext) {
results += "\t" + r.MemString()
}
fmt.Println(results)
// Print any benchmark output
if b.output.Len() > 0 {
fmt.Printf("--- BENCH: %s\n", benchName)
b.output.WriteTo(os.Stdout)
}
}
}
}
@ -436,8 +444,9 @@ func (b *B) Run(name string, f func(b *B)) bool {
b.hasSub = true
sub := &B{
common: common{
name: benchName,
level: b.level + 1,
output: &logger{},
name: benchName,
level: b.level + 1,
},
benchFunc: f,
benchTime: b.benchTime,

Просмотреть файл

@ -95,6 +95,10 @@ func (l *logger) WriteTo(w io.Writer) (int64, error) {
}
func (l *logger) Len() int {
return l.b.Len()
}
// Short reports whether the -test.short flag is set.
func Short() bool {
return flagShort