Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Hammer ¶
type Hammer interface {
// Run invokes a concurrency test, as described in /RATIONALE.md.
//
// * test is concurrently run in P goroutines, each looping N times.
// * name is unique within the hammer.
// * onRunning is any function to run after all goroutines are running, but before test executes.
//
// On completion, return early if there's a failure like this:
// if t.Failed() {
// return
// }
Run(test func(p, n int), onRunning func())
}
Hammer invokes a test concurrently in P goroutines N times per goroutine.
Here's an example:
P := 8 // max count of goroutines
N := 1000 // work per goroutine
if testing.Short() { // Adjust down if `-test.short`
P = 4
N = 100
}
hammer.NewHammer(t, P, N).Run(func(name string) {
// Do test using name if something needs to be unique.
}, nil)
if t.Failed() {
return // At least one test failed, so return now.
}
See /RATIONALE.md
Click to show internal directories.
Click to hide internal directories.