mirror of
https://github.com/golang/go
synced 2024-11-25 03:07:56 -07:00
test: explanatory comments [c-g]*
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5656103
This commit is contained in:
parent
c3ef198020
commit
83976e3ac8
@ -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 variadic functions and calls (dot-dot-dot).
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
func sum(args ...int) int {
|
func sum(args ...int) int {
|
||||||
|
@ -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 illegal uses of ... are detected.
|
||||||
|
// Does not compile.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "unsafe"
|
import "unsafe"
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
// This file is compiled and then imported by ddd3.go.
|
||||||
|
|
||||||
package ddd
|
package ddd
|
||||||
|
|
||||||
func Sum(args ...int) int {
|
func Sum(args ...int) int {
|
||||||
|
@ -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 that variadic functions work across package boundaries.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "./ddd2"
|
import "./ddd2"
|
||||||
|
@ -4,7 +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.
|
||||||
|
|
||||||
// Correct short declarations and redeclarations.
|
// Test correct short declarations and redeclarations.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
// Incorrect short declarations and redeclarations.
|
// Test that incorrect short declarations and redeclarations are detected.
|
||||||
|
// Does not compile.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
@ -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 defer.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "fmt"
|
import "fmt"
|
||||||
|
@ -4,11 +4,14 @@
|
|||||||
// 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 we can defer the predeclared functions print and println.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
defer println(42, true, false, true, 1.5, "world", (chan int)(nil), []int(nil), (map[string]int)(nil), (func())(nil), byte(255))
|
defer println(42, true, false, true, 1.5, "world", (chan int)(nil), []int(nil), (map[string]int)(nil), (func())(nil), byte(255))
|
||||||
defer println(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
|
defer println(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
|
||||||
// defer panic("dead")
|
// Disabled so the test doesn't crash but left here for reference.
|
||||||
|
// defer panic("dead")
|
||||||
defer print("printing: ")
|
defer print("printing: ")
|
||||||
}
|
}
|
||||||
|
@ -4,7 +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.
|
||||||
|
|
||||||
// divide corner cases
|
// Test divide corner cases.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
@ -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 top-level parenthesized declarations can be empty.
|
||||||
|
// Compiles but does not run.
|
||||||
|
|
||||||
package P
|
package P
|
||||||
|
|
||||||
import ( )
|
import ( )
|
||||||
|
@ -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 the Go environment variables are present and accessible through
|
||||||
|
// package os and package runtime.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -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 a source file does not need a final newline.
|
||||||
|
// Compiles but does not run.
|
||||||
|
|
||||||
// No newline at the end of this file.
|
// No newline at the end of this file.
|
||||||
|
|
||||||
package main
|
package main
|
@ -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 a comment ending a source file does not need a final newline.
|
||||||
|
// Compiles but does not run.
|
||||||
|
|
||||||
package eof1
|
package eof1
|
||||||
|
|
||||||
// No newline at the end of this comment.
|
// No newline at the end of this comment.
|
@ -6,8 +6,8 @@
|
|||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
// check for correct heap-moving of escaped variables.
|
// Test for correct heap-moving of escaped variables.
|
||||||
// it is hard to check for the allocations, but it is easy
|
// It is hard to check for the allocations, but it is easy
|
||||||
// to check that if you call the function twice at the
|
// to check that if you call the function twice at the
|
||||||
// same stack level, the pointers returned should be
|
// same stack level, the pointers returned should be
|
||||||
// different.
|
// different.
|
||||||
|
@ -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, using compiler diagnostic flags, that the escape analysis is working.
|
||||||
|
// Compiles but does not run.
|
||||||
|
|
||||||
package foo
|
package foo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -4,7 +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 run-time behavior of escape analysis-related optimizations.
|
// Test the run-time behavior of escape analysis-related optimizations.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
@ -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 floating-point literal syntax.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
var bad bool
|
var bad bool
|
||||||
|
@ -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 floating-point comparison involving NaN.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "math"
|
import "math"
|
||||||
|
@ -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 for loops.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
func assertequal(is, shouldbe int, msg string) {
|
func assertequal(is, shouldbe int, msg string) {
|
||||||
|
@ -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 simple functions.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
@ -4,11 +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.
|
||||||
|
|
||||||
// does not compile and should not compile
|
// Test that result parameters are in the same scope as regular parameters.
|
||||||
|
// Does not compile.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
func f1(a int) (int, float32) { // BUG (not caught by compiler): multiple return values must have names
|
func f1(a int) (int, float32) {
|
||||||
return 7, 7.0
|
return 7, 7.0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
// $G $F.go || echo BUG: should compile
|
// compile
|
||||||
|
|
||||||
// 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 function signatures.
|
||||||
|
// Compiled but not run.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
type t1 int
|
type t1 int
|
||||||
|
@ -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 illegal function signatures are detected.
|
||||||
|
// Does not compile.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
type t1 int
|
type t1 int
|
||||||
|
@ -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 it is illegal to take the address of a function.
|
||||||
|
// Does not compile.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
var notmain func()
|
var notmain func()
|
||||||
|
@ -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 functions and goroutines.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
func caller(f func(int, int) int, a, b int, c chan int) {
|
func caller(f func(int, int) int, a, b int, c chan int) {
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
// compile
|
// run
|
||||||
|
|
||||||
// Copyright 2011 The Go Authors. All rights reserved.
|
// Copyright 2011 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 closures in if conditions.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -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 evaluation order in if condition.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
var calledf = false
|
var calledf = false
|
||||||
|
@ -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 evaluation order.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
var calledf int
|
var calledf int
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
// Simple test of the garbage collector.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "runtime"
|
import "runtime"
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
// A simple test of the garbage collector.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -4,7 +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.
|
||||||
|
|
||||||
// Check that buffered channels are garbage collected properly.
|
// Test that buffered channels are garbage collected properly.
|
||||||
// An interesting case because they have finalizers and used to
|
// An interesting case because they have finalizers and used to
|
||||||
// have self loops that kept them from being collected.
|
// have self loops that kept them from being collected.
|
||||||
// (Cyclic data with finalizers is never finalized, nor collected.)
|
// (Cyclic data with finalizers is never finalized, nor collected.)
|
||||||
|
@ -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 that println can be the target of a go statement.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "time"
|
import "time"
|
||||||
|
@ -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 goto semantics.
|
||||||
|
// Does not compile.
|
||||||
|
//
|
||||||
// Each test is in a separate function just so that if the
|
// Each test is in a separate function just so that if the
|
||||||
// compiler stops processing after one error, we don't
|
// compiler stops processing after one error, we don't
|
||||||
// lose other ones.
|
// lose other ones.
|
||||||
|
Loading…
Reference in New Issue
Block a user