| // Copyright 2014 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package testing_test |
| |
| import "testing" |
| |
| var global interface{} |
| |
| var allocsPerRunTests = []struct { |
| name string |
| fn func() |
| allocs float64 |
| }{ |
| {"alloc *byte", func() { global = new(*byte) }, 1}, |
| {"alloc complex128", func() { global = new(complex128) }, 1}, |
| {"alloc float64", func() { global = new(float64) }, 1}, |
| {"alloc int32", func() { global = new(int32) }, 1}, |
| {"alloc byte", func() { global = new(byte) }, 1}, |
| } |
| |
| func TestAllocsPerRun(t *testing.T) { |
| for _, tt := range allocsPerRunTests { |
| if allocs := testing.AllocsPerRun(100, tt.fn); allocs != tt.allocs { |
| t.Errorf("AllocsPerRun(100, %s) = %v, want %v", tt.name, allocs, tt.allocs) |
| } |
| } |
| } |