Merge pull request #767 from ivanvc/write-bench-results-to-stdout

cmd/bbolt: write bench results to stdout
pull/769/head
Benjamin Wang 2024-06-12 09:40:35 +01:00 committed by GitHub
commit a8b2675b55
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 6 deletions

View File

@ -1056,11 +1056,11 @@ func (cmd *benchCommand) Run(args ...string) error {
benchWriteName := "BenchmarkWrite"
benchReadName := "BenchmarkRead"
maxLen := max(len(benchReadName), len(benchWriteName))
printGoBenchResult(cmd.Stderr, writeResults, maxLen, benchWriteName)
printGoBenchResult(cmd.Stderr, readResults, maxLen, benchReadName)
printGoBenchResult(cmd.Stdout, writeResults, maxLen, benchWriteName)
printGoBenchResult(cmd.Stdout, readResults, maxLen, benchReadName)
} else {
fmt.Fprintf(cmd.Stderr, "# Write\t%v(ops)\t%v\t(%v/op)\t(%v op/sec)\n", writeResults.CompletedOps(), writeResults.Duration(), writeResults.OpDuration(), writeResults.OpsPerSecond())
fmt.Fprintf(cmd.Stderr, "# Read\t%v(ops)\t%v\t(%v/op)\t(%v op/sec)\n", readResults.CompletedOps(), readResults.Duration(), readResults.OpDuration(), readResults.OpsPerSecond())
fmt.Fprintf(cmd.Stdout, "# Write\t%v(ops)\t%v\t(%v/op)\t(%v op/sec)\n", writeResults.CompletedOps(), writeResults.Duration(), writeResults.OpDuration(), writeResults.OpsPerSecond())
fmt.Fprintf(cmd.Stdout, "# Read\t%v(ops)\t%v\t(%v/op)\t(%v op/sec)\n", readResults.CompletedOps(), readResults.Duration(), readResults.OpDuration(), readResults.OpsPerSecond())
}
fmt.Fprintln(cmd.Stderr, "")

View File

@ -484,6 +484,7 @@ func TestBenchCommand_Run(t *testing.T) {
}
stderr := m.Stderr.String()
stdout := m.Stdout.String()
if !strings.Contains(stderr, "starting write benchmark.") || !strings.Contains(stderr, "starting read benchmark.") {
t.Fatal(fmt.Errorf("benchmark result does not contain read/write start output:\n%s", stderr))
}
@ -492,8 +493,8 @@ func TestBenchCommand_Run(t *testing.T) {
t.Fatal(fmt.Errorf("found iter mismatch in stdout:\n%s", stderr))
}
if !strings.Contains(stderr, "# Write") || !strings.Contains(stderr, "# Read") {
t.Fatal(fmt.Errorf("benchmark result does not contain read/write output:\n%s", stderr))
if !strings.Contains(stdout, "# Write") || !strings.Contains(stdout, "# Read") {
t.Fatal(fmt.Errorf("benchmark result does not contain read/write output:\n%s", stdout))
}
})
}