diff options
Diffstat (limited to 'src/lib/once/once_test.go')
-rw-r--r-- | src/lib/once/once_test.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/lib/once/once_test.go b/src/lib/once/once_test.go new file mode 100644 index 000000000..9506ff3d7 --- /dev/null +++ b/src/lib/once/once_test.go @@ -0,0 +1,31 @@ +// Copyright 2009 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 once + +import ( + "once"; + "testing"; +) + +var ncall int; +func call() { + ncall++ +} + +func TestOnce(t *testing.T) { + ncall = 0; + once.Do(call); + if ncall != 1 { + t.Fatalf("once.Do(call) didn't call(): ncall=%d", ncall); + } + once.Do(call); + if ncall != 1 { + t.Fatalf("second once.Do(call) did call(): ncall=%d", ncall); + } + once.Do(call); + if ncall != 1 { + t.Fatalf("third once.Do(call) did call(): ncall=%d", ncall); + } +} |