]> Cypherpunks repositories - gostls13.git/commitdiff
test: enable tests using v, ok := <-ch syntax
authorRobert Hencke <robert.hencke@gmail.com>
Tue, 22 Mar 2011 17:32:43 +0000 (10:32 -0700)
committerRob Pike <r@golang.org>
Tue, 22 Mar 2011 17:32:43 +0000 (10:32 -0700)
R=rsc, r
CC=golang-dev
https://golang.org/cl/4290059

test/fixedbugs/bug069.go
test/fixedbugs/bug196.go
test/fixedbugs/bug234.go
test/fixedbugs/bug242.go

index bf73163134d709cb41b4fdb97f0add621cd54bb0..9038387ac8624de353e00e0cbf59cce144b10c9c 100644 (file)
@@ -7,15 +7,14 @@
 package main
 
 func main() {
-       //TODO(rsc): uncomment when this syntax is valid for receive+check closed
-       //      c := make(chan int);
-       //      ok := false;
-       //      var i int;
-       //
-       //      i, ok = <-c;  // works
-       //      _, _ = i, ok;
-       //
-       //      ca := new([2]chan int);
-       //      i, ok = <-(ca[0]);  // fails: c.go:11: bad shape across assignment - cr=1 cl=2
-       //      _, _ = i, ok;
+       c := make(chan int);
+       ok := false;
+       var i int;
+       
+       i, ok = <-c;  // works
+       _, _ = i, ok;
+       
+       ca := new([2]chan int);
+       i, ok = <-(ca[0]);  // fails: c.go:11: bad shape across assignment - cr=1 cl=2
+       _, _ = i, ok;
 }
index 8cb9c9990d9d3bf9d2cf5070a0b569278ea9fa77..ea8ab0dc193c71e82686a814d0c8fbd11e36b2bb 100644 (file)
@@ -13,12 +13,11 @@ var i int
 func multi() (int, int) { return 1, 2 }
 
 func xxx() {
-       //TODO(rsc): uncomment when this syntax is valid for receive+check closed
-       //      var c chan int
-       //      x, ok := <-c
+       var c chan int
+       x, ok := <-c
 
        var m map[int]int
-       x, ok := m[1]
+       x, ok = m[1]
 
        var i interface{}
        var xx int
index 9affad043027a3e6cde34f0a05fcc7c5d515d056..562109a058bbac650d95bda18fdf249c613eb33e 100644 (file)
@@ -7,17 +7,17 @@
 package main
 
 func main() {
-       //TODO(rsc): uncomment when this syntax is valid for receive+check closed
-       //      c := make(chan int, 1)
-       //      c <- 100
-       //      x, ok := <-c
-       //      if x != 100 || !ok {
-       //              println("x=", x, " ok=", ok, " want 100, true")
-       //              panic("fail")
-       //      }
-       //      x, ok = <-c
-       //      if x != 0 || ok {
-       //              println("x=", x, " ok=", ok, " want 0, false")
-       //              panic("fail")
-       //      }
+       c := make(chan int, 1)
+       c <- 100
+       x, ok := <-c
+       if x != 100 || !ok {
+               println("x=", x, " ok=", ok, " want 100, true")
+               panic("fail")
+       }
+       close(c)
+       x, ok = <-c
+       if x != 0 || ok {
+               println("x=", x, " ok=", ok, " want 0, false")
+               panic("fail")
+       }
 }
index ad1cef8df4302b49baa0f30cb699990b74283241..839dccd37410360c0c831afd77c46f48ce8effed 100644 (file)
@@ -101,13 +101,11 @@ func main() {
 
        c := make(chan byte, 1)
        c <- 'C'
-       //TODO(rsc): uncomment when this syntax is valid for receive+check closed
        // 15          16
-       //      *f(), p1 = <-e1(c, 16)
-       *f(), p1 = <-e1(c, 16), true // delete uncommenting above
+       *f(), p1 = <-e1(c, 16)
+       close(c)
        // 17          18
-       //      *f(), p2 = <-e1(c, 18)
-       *f(), p2, _ = 0, false, e1(c, 18) // delete when uncommenting above
+       *f(), p2 = <-e1(c, 18)
        a[17] += '0'
        if !p1 || p2 {
                println("bad chan check", i, p1, p2)