summaryrefslogtreecommitdiff
path: root/libgo/go/cmd/go/testdata/script/test_benchmark_1x.txt
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/cmd/go/testdata/script/test_benchmark_1x.txt')
-rw-r--r--libgo/go/cmd/go/testdata/script/test_benchmark_1x.txt37
1 files changed, 37 insertions, 0 deletions
diff --git a/libgo/go/cmd/go/testdata/script/test_benchmark_1x.txt b/libgo/go/cmd/go/testdata/script/test_benchmark_1x.txt
new file mode 100644
index 00000000000..b1d4c39c16f
--- /dev/null
+++ b/libgo/go/cmd/go/testdata/script/test_benchmark_1x.txt
@@ -0,0 +1,37 @@
+# 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
+}