Updates #67633
Change-Id: If3da9317ba36cb8a7868db94b45c402e1793e018
Reviewed-on: https://go-review.googlesource.com/c/go/+/588219
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Mateusz Poliwczak <mpoliwczak34@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Than McIntosh <thanm@google.com>
slices.SortFunc(groups, bytes.Compare)
return bytes.Join(groups, nil)
}
+
+var (
+ rSink *PipeReader
+ wSink *PipeWriter
+)
+
+func TestPipeAllocations(t *testing.T) {
+ numAllocs := testing.AllocsPerRun(10, func() {
+ rSink, wSink = Pipe()
+ })
+
+ // go.dev/cl/473535 claimed Pipe() should only do 2 allocations,
+ // plus the 2 escaping to heap for simulating real world usages.
+ expectedAllocs := 4
+ if int(numAllocs) > expectedAllocs {
+ t.Fatalf("too many allocations for io.Pipe() call: %f", numAllocs)
+ }
+}