diff options
author | Robert Griesemer <gri@golang.org> | 2010-03-25 10:01:51 -0700 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2010-03-25 10:01:51 -0700 |
commit | ac0d826f53c241e58a7b69227bfae87dacb7767b (patch) | |
tree | b186e9443846044bdb8c6b8d58a367b64afe94bd /test | |
parent | 0c97e9e7c4a06dcda3599adb8bfa3dfa3df61a4f (diff) | |
download | go-ac0d826f53c241e58a7b69227bfae87dacb7767b.tar.gz |
bug264: test case for issue 692
R=r
CC=golang-dev
http://codereview.appspot.com/715042
Diffstat (limited to 'test')
-rw-r--r-- | test/bugs/bug264.go | 49 | ||||
-rw-r--r-- | test/golden.out | 9 |
2 files changed, 58 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") + } +} diff --git a/test/golden.out b/test/golden.out index 036519de7..a370e06ba 100644 --- a/test/golden.out +++ b/test/golden.out @@ -182,3 +182,12 @@ panic PC=xxx =========== bugs/bug260.go FAIL BUG: bug260 failed + +=========== bugs/bug264.go +foo +bar +bar +bal +bal +BUG: barCount != 1 +panic PC=xxx |