1 // run 2 3 // Copyright 2013 The Go Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file. 6 7 package main 8 9 import ( 10 "fmt" 11 "os" 12 "testing" 13 ) 14 15 var globl *int 16 17 func G() { 18 F() 19 } 20 21 func F() { 22 var x int 23 globl = &x 24 } 25 26 func main() { 27 nf := testing.AllocsPerRun(100, F) 28 ng := testing.AllocsPerRun(100, G) 29 if int(nf) > 1 { 30 fmt.Printf("AllocsPerRun(100, F) = %v, want 1\n", nf) 31 os.Exit(1) 32 } 33 if int(ng) > 1 { 34 fmt.Printf("AllocsPerRun(100, G) = %v, want 1\n", ng) 35 os.Exit(1) 36 } 37 } 38