summaryrefslogtreecommitdiff
path: root/src/lib/once/once_test.go
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2009-05-05 17:05:39 -0700
committerRob Pike <r@golang.org>2009-05-05 17:05:39 -0700
commitb6708b2dad4af458e69fde7fc596ecdce03280d0 (patch)
tree11cfc1b980ecce9cb0eec06f49cc53ce05faf350 /src/lib/once/once_test.go
parent658b10477a16151de7e4d51657993f95445f11ee (diff)
downloadgolang-b6708b2dad4af458e69fde7fc596ecdce03280d0.tar.gz
directory-per-package step 1: move files from lib/X.go to lib/X/X.go
no substantive changes except: - new Makefiles, all auto-generated - go/src/lib/Makefile has been extensively edited R=rsc OCL=28310 CL=28310
Diffstat (limited to 'src/lib/once/once_test.go')
-rw-r--r--src/lib/once/once_test.go31
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);
+ }
+}