Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / gcc / testsuite / go.test / test / chancap.go
1 // run
2
3 // Copyright 2009 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 // Test the cap predeclared function applied to channels.
8
9 package main
10
11 func main() {
12         c := make(chan int, 10)
13         if len(c) != 0 || cap(c) != 10 {
14                 println("chan len/cap ", len(c), cap(c), " want 0 10")
15                 panic("fail")
16         }
17
18         for i := 0; i < 3; i++ {
19                 c <- i
20         }
21         if len(c) != 3 || cap(c) != 10 {
22                 println("chan len/cap ", len(c), cap(c), " want 3 10")
23                 panic("fail")
24         }
25
26         c = make(chan int)
27         if len(c) != 0 || cap(c) != 0 {
28                 println("chan len/cap ", len(c), cap(c), " want 0 0")
29                 panic("fail")
30         }
31 }