-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+printing: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+42 true false true +1.500000e+000 world 0x0 [0/0]0x0 0x0 0x0 255
func main() {
c = make(chan int);
- go func() { print("ok\n"); c <- 0 } ();
+ go func() { c <- 0 } ();
<-c
}
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
== ./
-=========== ./deferprint.go
-printing: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
-42 true false true +1.500000e+000 world 0x0 [0/0]0x0 0x0 0x0 255
-
-=========== ./goprint.go
-42 true false true +1.500000e+000 world 0x0 [0/0]0x0 0x0 0x0 255
-
-=========== ./helloworld.go
-hello, world
-
-=========== ./printbig.go
--9223372036854775808
-9223372036854775807
-
-=========== ./sigchld.go
-survived SIGCHLD
-
== ken/
-=========== ken/cplx0.go
-(+5.000000e+000+6.000000e+000i)
-(+5.000000e+000+6.000000e+000i)
-(+5.000000e+000+6.000000e+000i)
-(+5.000000e+000+6.000000e+000i)
-
-=========== ken/cplx3.go
-(+1.292308e+000-1.384615e-001i)
-(+1.292308e+000-1.384615e-001i)
-
-=========== ken/cplx5.go
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-
-=========== ken/intervar.go
- print 1 bio 2 file 3 -- abc
-
-=========== ken/string.go
-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz
-
== chan/
== interface/
== fixedbugs/
-=========== fixedbugs/bug067.go
-ok
-
-=========== fixedbugs/bug328.go
-0x0
-
== bugs/
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+42 true false true +1.500000e+000 world 0x0 [0/0]0x0 0x0 0x0 255
-// $G $F.go && $L $F.$A && ./$A.out
+// $G $F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+hello, world
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+(+5.000000e+000+6.000000e+000i)
+(+5.000000e+000+6.000000e+000i)
+(+5.000000e+000+6.000000e+000i)
+(+5.000000e+000+6.000000e+000i)
func main() {
c0 := C1
c0 = (c0 + c0 + c0) / (c0 + c0 + 3i)
- println(c0)
+ r, i := real(c0), imag(c0)
+ d := r - 1.292308
+ if d < 0 {
+ d = - d
+ }
+ if d > 1e-6 {
+ println(r, "!= 1.292308")
+ panic(0)
+ }
+ d = i + 0.1384615
+ if d < 0 {
+ d = - d
+ }
+ if d > 1e-6 {
+ println(i, "!= -0.1384615")
+ panic(0)
+ }
c := *(*complex128)(unsafe.Pointer(&c0))
- println(c)
+ if c != c0 {
+ println(c, "!=", c)
+ panic(0)
+ }
var a interface{}
switch c := reflect.ValueOf(a); c.Kind() {
for i := 0; i < len(a); i++ {
a[i] = complex(float64(i), float64(-i))
}
- println(a[5])
+ if a[5] != 5-5i {
+ panic(a[5])
+ }
// slice of complex128
s = make([]complex128, len(a))
for i := 0; i < len(s); i++ {
s[i] = a[i]
}
- println(s[5])
+ if s[5] != 5-5i {
+ panic(s[5])
+ }
// chan
c = make(chan complex128)
go chantest(c)
- println(<-c)
+ vc := <-c
+ if vc != 5-5i {
+ panic(vc)
+ }
// pointer of complex128
v := a[5]
pv := &v
- println(*pv)
+ if *pv != 5-5i {
+ panic(*pv)
+ }
// field of complex128
f.c = a[5]
- println(f.c)
+ if f.c != 5-5i {
+ panic(f.c)
+ }
// map of complex128
m = make(map[complex128]complex128)
for i := 0; i < len(s); i++ {
m[-a[i]] = a[i]
}
- println(m[5i-5])
- println(m[complex(-5, 5)])
+ if m[5i-5] != 5-5i {
+ panic(m[5i-5])
+ }
+ vm := m[complex(-5, 5)]
+ if vm != 5-5i {
+ panic(vm)
+ }
}
func chantest(c chan complex128) { c <- a[5] }
package main
type Iputs interface {
- puts (s string);
+ puts (s string) string;
}
// ---------
put Iputs;
}
-func (p *Print) dop() {
- print(" print ", p.whoami);
- p.put.puts("abc");
+func (p *Print) dop() string {
+ r := " print " + string(p.whoami + '0')
+ return r + p.put.puts("abc");
}
// ---------
put Iputs;
}
-func (b *Bio) puts(s string) {
- print(" bio ", b.whoami);
- b.put.puts(s);
+func (b *Bio) puts(s string) string {
+ r := " bio " + string(b.whoami + '0')
+ return r + b.put.puts(s);
}
// ---------
put Iputs;
}
-func (f *File) puts(s string) {
- print(" file ", f.whoami, " -- ", s);
+func (f *File) puts(s string) string {
+ return " file " + string(f.whoami + '0') + " -- " + s
}
func
f.whoami = 3;
- p.dop();
- print("\n");
+ r := p.dop();
+ expected := " print 1 bio 2 file 3 -- abc"
+ if r != expected {
+ panic(r + " != " + expected)
+ }
}
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
/* create string with integer constant */
c = string('x')
if c != "x" {
- print("create int ", c)
- panic("fail")
+ panic("create int " + c)
}
/* create string with integer variable */
v := 'x'
c = string(v)
if c != "x" {
- print("create int ", c)
- panic("fail")
+ panic("create int " + c)
}
/* create string with byte array */
z1[2] = 'c'
c = string(z1[0:])
if c != "abc" {
- print("create byte array ", c)
- panic("fail")
+ panic("create byte array " + c)
}
/* create string with int array */
z2[2] = 'c'
c = string(z2[0:])
if c != "a\u1234c" {
- print("create int array ", c)
- panic("fail")
+ panic("create int array " + c)
}
/* create string with byte array pointer */
z3[2] = 'c'
c = string(z3[0:])
if c != "abc" {
- print("create array pointer ", c)
- panic("fail")
+ panic("create array pointer " + c)
}
}
--- /dev/null
+abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz
-// $G $F.go && $L $F.$A && ./$A.out
+// $G $F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+-9223372036854775808
+9223372036854775807
-// ([ "$GOOS" = windows ] && echo survived SIGCHLD) ||
-// ($G $D/$F.go && $L $F.$A && ./$A.out)
+// [ "$GOOS" == windows ] ||
+// ($G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out)
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+survived SIGCHLD