removed a:b in range syntax
added another channel test
R=r
OCL=23488
CL=23488
diff --git a/test/ken/chan1.go b/test/ken/chan1.go
new file mode 100644
index 0000000..c6d7825
--- /dev/null
+++ b/test/ken/chan1.go
@@ -0,0 +1,56 @@
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// 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 main
+
+const N = 1000; // sent messages
+const M = 10; // receiving goroutines
+const W = 2; // channel buffering
+var h [N]int; // marking of send/recv
+
+func
+r(c chan int, m int)
+{
+ for {
+ select {
+ case r := <- c:
+ if h[r] != 1 {
+ panicln("r",
+ "m=", m,
+ "r=", r,
+ "h=", h[r]
+ );
+ }
+ h[r] = 2;
+ }
+ }
+}
+
+func
+s(c chan int)
+{
+ for n:=0; n<N; n++ {
+ r := n;
+ if h[r] != 0 {
+ panicln("s");
+ }
+ h[r] = 1;
+ c <- r;
+ }
+}
+
+func
+main()
+{
+ c := make(chan int, W);
+ for m:=0; m<M; m++ {
+ go r(c, m);
+ sys.Gosched();
+ }
+ sys.Gosched();
+ sys.Gosched();
+ s(c);
+}
diff --git a/test/ken/range.go b/test/ken/range.go
index 2417580..55e1689 100644
--- a/test/ken/range.go
+++ b/test/ken/range.go
@@ -76,10 +76,10 @@
}
/*
- * key:value
+ * key,value
*/
i = 0;
- for k:v := range a {
+ for k,v := range a {
if v != f(k) {
panicln("key:value array range", k, v, a[k]);
}
@@ -90,7 +90,7 @@
}
i = 0;
- for k:v := range p {
+ for k,v := range p {
if v != f(k) {
panicln("key:value pointer range", k, v, p[k]);
}
@@ -101,7 +101,7 @@
}
i = 0;
- for k:v := range m {
+ for k,v := range m {
if v != f(k) {
panicln("key:value map range", k, v, m[k]);
}