summaryrefslogtreecommitdiff
path: root/test/bugs
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2010-03-25 10:01:51 -0700
committerRobert Griesemer <gri@golang.org>2010-03-25 10:01:51 -0700
commitac0d826f53c241e58a7b69227bfae87dacb7767b (patch)
treeb186e9443846044bdb8c6b8d58a367b64afe94bd /test/bugs
parent0c97e9e7c4a06dcda3599adb8bfa3dfa3df61a4f (diff)
downloadgo-ac0d826f53c241e58a7b69227bfae87dacb7767b.tar.gz
bug264: test case for issue 692
R=r CC=golang-dev http://codereview.appspot.com/715042
Diffstat (limited to 'test/bugs')
-rw-r--r--test/bugs/bug264.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/bugs/bug264.go b/test/bugs/bug264.go
new file mode 100644
index 000000000..110f42e20
--- /dev/null
+++ b/test/bugs/bug264.go
@@ -0,0 +1,49 @@
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2010 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.
+
+// Test case for http://code.google.com/p/go/issues/detail?id=692
+
+package main
+
+import "fmt"
+
+var fooCount = 0
+var barCount = 0
+var balCount = 0
+
+func foo() (int, int) {
+ fooCount++
+ fmt.Println("foo")
+ return 0, 0
+}
+
+func bar() (int, int) {
+ barCount++
+ fmt.Println("bar")
+ return 0, 0
+}
+
+func bal() (int, int) {
+ balCount++
+ fmt.Println("bal")
+ return 0, 0
+}
+
+var a, b = foo() // foo is called once
+var c, _ = bar() // bar is called twice
+var _, _ = bal() // bal is called twice
+
+func main() {
+ if fooCount != 1 {
+ panic("BUG: fooCount != 1")
+ }
+ if barCount != 1 {
+ panic("BUG: barCount != 1")
+ }
+ if balCount != 1 {
+ panic("BUG: balCount != 1")
+ }
+}