1
0
mirror of https://github.com/golang/go synced 2024-11-25 02:07:58 -07:00

test/[n-z]*.go: add documentation

R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/5700056
This commit is contained in:
Rob Pike 2012-02-24 11:48:19 +11:00
parent c05c3a9d11
commit 80a9783f84
26 changed files with 67 additions and 120 deletions

View File

@ -6,6 +6,7 @@
// Test that basic operations on named types are valid // Test that basic operations on named types are valid
// and preserve the type. // and preserve the type.
// Does not compile.
package main package main

View File

@ -4,7 +4,9 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test illegal shifts.
// Issue 1708, illegal cases. // Issue 1708, illegal cases.
// Does not compile.
package p package p

View File

@ -4,7 +4,9 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test legal shifts.
// Issue 1708, legal cases. // Issue 1708, legal cases.
// Compiles but does not run.
package p package p

View File

@ -1,11 +1,12 @@
// build // build
// don't run it - goes forever
// Copyright 2009 The Go Authors. All rights reserved. // Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test basic concurrency: the classic prime sieve.
// Do not run - loops forever.
package main package main
// Send the sequence 2, 3, 4, ... to channel 'ch'. // Send the sequence 2, 3, 4, ... to channel 'ch'.

View File

@ -5,6 +5,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test that a program can survive SIGCHLD.
package main package main
import "syscall" import "syscall"

View File

@ -4,6 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test simultaneous assignment.
package main package main
var a, b, c, d, e, f, g, h, i int var a, b, c, d, e, f, g, h, i int

View File

@ -4,6 +4,9 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test that many initializations can be done at link time and
// generate no executable init functions.
package p package p
// Should be no init func in the assembly. // Should be no init func in the assembly.

View File

@ -4,6 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test unsafe.Sizeof, unsafe.Alignof, and unsafe.Offsetof all return uintptr.
package main package main
import "unsafe" import "unsafe"

View File

@ -1,11 +1,13 @@
// build // build
// don't run it - produces too much output
// Copyright 2010 The Go Authors. All rights reserved. // Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test general operation by solving a peg solitaire game.
// A version of this is in the Go playground.
// Don't run it - produces too much output.
// This program solves the (English) peg solitaire board game. // This program solves the (English) peg solitaire board game.
// See also: http://en.wikipedia.org/wiki/Peg_solitaire // See also: http://en.wikipedia.org/wiki/Peg_solitaire

View File

@ -4,6 +4,7 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test stack splitting code.
// Try to tickle stack splitting bugs by doing // Try to tickle stack splitting bugs by doing
// go, defer, and closure calls at different stack depths. // go, defer, and closure calls at different stack depths.

View File

@ -4,6 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test string literal syntax.
package main package main
import "os" import "os"

View File

@ -4,6 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test range over strings.
package main package main
import ( import (

View File

@ -4,9 +4,9 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// zero length structs. // Test zero length structs.
// used to not be evaluated. // Used to not be evaluated.
// issue 2232. // Issue 2232.
package main package main

View File

@ -4,8 +4,12 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test switch statements.
package main package main
import "os"
func assert(cond bool, msg string) { func assert(cond bool, msg string) {
if !cond { if !cond {
print("assertion fail: ", msg, "\n") print("assertion fail: ", msg, "\n")
@ -279,4 +283,13 @@ func main() {
assert(false, "m should not be nil") assert(false, "m should not be nil")
default: default:
} }
i := 0
switch x := 5; {
case i < x:
os.Exit(0)
case i == x:
case i > x:
os.Exit(1)
}
} }

View File

@ -1,20 +0,0 @@
// run
// 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
import "os"
func main() {
i := 0
switch x := 5; {
case i < x:
os.Exit(0)
case i == x:
case i > x:
os.Exit(1)
}
}

View File

@ -4,6 +4,9 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Verify that erroneous switch statements are detected by the compiler.
// Does not compile.
package main package main
type I interface { type I interface {

View File

@ -1,92 +0,0 @@
// run
// 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 a_const = 0
const (
pi = /* the usual */ 3.14159265358979323
e = 2.718281828
mask1 int = 1 << iota
mask2 = 1 << iota
mask3 = 1 << iota
mask4 = 1 << iota
)
type (
Empty interface{}
Point struct {
x, y int
}
Point2 Point
)
func (p *Point) Initialize(x, y int) *Point {
p.x, p.y = x, y
return p
}
func (p *Point) Distance() int {
return p.x*p.x + p.y*p.y
}
var (
x1 int
x2 int
u, v, w float32
)
func foo() {}
func min(x, y int) int {
if x < y {
return x
}
return y
}
func swap(x, y int) (u, v int) {
u = y
v = x
return
}
func control_structs() {
var p *Point = new(Point).Initialize(2, 3)
i := p.Distance()
var f float32 = 0.3
_ = f
for {
}
for {
}
for j := 0; j < i; j++ {
if i == 0 {
} else {
i = 0
}
var x float32
_ = x
}
foo: // a label
var j int
switch y := 0; true {
case i < y:
fallthrough
case i < j:
case i == 0, i == 1, i == j:
i++
i++
goto foo
default:
i = -+-+i
break
}
}
func main() {
}

View File

@ -4,6 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test simulating a Turing machine, sort of.
package main package main
// brainfuck // brainfuck

View File

@ -4,6 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test simple type switches, including chans, maps etc.
package main package main
import "os" import "os"

View File

@ -4,6 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test simple type switches on basic types.
package main package main
import "fmt" import "fmt"

View File

@ -4,6 +4,9 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Verify that various erroneous type switches are caught be the compiler.
// Does not compile.
package main package main
import "io" import "io"

View File

@ -4,6 +4,10 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Verify that erroneous type switches are caught be the compiler.
// Issue 2700, among other things.
// Does not compile.
package main package main
import ( import (

View File

@ -4,7 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Check line numbers in error messages. // Test line numbers in error messages.
// Does not compile.
package main package main

View File

@ -4,6 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test UTF-8 in strings and character constants.
package main package main
import "unicode/utf8" import "unicode/utf8"

View File

@ -4,6 +4,9 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Verify that a couple of illegal variable declarations are caught by the compiler.
// Does not compile.
package main package main
func main() { func main() {

View File

@ -4,6 +4,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Test var x = x + 1 works.
package main package main
func main() { func main() {