# Test that -benchtime 1x only runs a total of 1 loop iteration. | |
# See golang.org/issue/32051. | |
go test -run ^$ -bench . -benchtime 1x | |
-- go.mod -- | |
module bench | |
go 1.16 | |
-- x_test.go -- | |
package bench | |
import ( | |
"fmt" | |
"os" | |
"testing" | |
) | |
var called = false | |
func TestMain(m *testing.M) { | |
m.Run() | |
if !called { | |
fmt.Println("benchmark never called") | |
os.Exit(1) | |
} | |
} | |
func Benchmark(b *testing.B) { | |
if b.N > 1 { | |
b.Fatalf("called with b.N=%d; want b.N=1 only", b.N) | |
} | |
if called { | |
b.Fatal("called twice") | |
} | |
called = true | |
} |