go/test
Matthew Dempsky 840fad13ec cmd/compile: fix unsafe.Pointer liveness for Syscall-like functions
The package unsafe docs say it's safe to convert an unsafe.Pointer to
uintptr in the argument list to an assembly function, but it was
erroneously only detecting normal pointers converted to unsafe.Pointer
and then to intptr.

Fixes #23051.

Change-Id: Id1be19f6d8f26f2d17ba815191717d2f4f899732
Reviewed-on: https://go-review.googlesource.com/82817
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-12-08 21:34:24 +00:00
..
alias3.dir [dev.typealias] cmd/compile: export/import test cases for type aliases 2017-01-20 05:55:53 +00:00
bench test/bench/go1: fix typo in parserdata_test.go comment 2017-03-22 03:23:16 +00:00
chan all: fix article typos 2017-09-15 02:39:16 +00:00
closure3.dir cmd/compile: inline closures with captures 2017-11-05 04:18:05 +00:00
ddd2.dir
dwarf
fixedbugs cmd/compile: fix large load/store offsets on 386 2017-12-08 03:53:18 +00:00
import2.dir
import4.dir
interface cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
intrinsic.dir cmd/compile: intrinsics for math/bits.TrailingZerosX 2017-03-16 02:44:16 +00:00
ken
linkname.dir cmd/compile: include linknames in export data 2017-02-08 20:59:45 +00:00
method4.dir
safe
stress
syntax cmd/compile/internal/parser: improved a couple of error messages 2017-02-24 18:54:36 +00:00
uintptrescapes.dir
64bit.go cmd/gc: Error out on division by constant zero. 2013-01-30 20:21:08 +01:00
235.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
README.md test: add README 2017-07-26 23:37:25 +00:00
alg.go test: add test that required algs get generated 2016-04-24 21:36:52 +00:00
alias.go
alias1.go
alias2.go [dev.typealias] cmd/compile: declare methods after resolving receiver type 2017-01-25 08:04:17 +00:00
alias3.go [dev.typealias] cmd/compile: export/import test cases for type aliases 2017-01-20 05:55:53 +00:00
append.go
append1.go cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
args.go test: run some more tests by default 2012-11-08 09:04:27 -08:00
armimm.go cmd/internal/obj: continue to optimize ARM's constant pool 2017-05-11 13:53:54 +00:00
assign.go
assign1.go
atomicload.go
bigalg.go
bigmap.go
blank.go
blank1.go
bom.go gc: initial BOM is legal. 2012-09-10 13:03:07 -07:00
bombad.go
bounds.go
chancap.go cmd/compile: generate makechan calls with int arguments 2017-08-15 05:54:24 +00:00
chanlinear.go
char_lit.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
char_lit1.go
checkbce.go test: add missing copyright header to checkbce.go 2017-05-18 00:05:25 +00:00
clearfat.go
closedchan.go
closure.go
closure1.go
closure2.go
closure3.go cmd/compile: fix reassignment check 2017-11-03 20:09:26 +00:00
cmp.go Fix several out of date references to 4g/5g/6g/8g/9g. 2015-06-26 03:38:21 +00:00
cmp6.go cmd/gc: do not consider length zero arrays as comparable. 2014-01-31 00:30:56 +01:00
cmplx.go cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
cmplxdivide.c runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
cmplxdivide.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
cmplxdivide1.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
complit.go
complit1.go cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
compos.go
const.go cmd/compile: fix compiler bug for constant equality comparison 2016-09-17 01:12:24 +00:00
const1.go
const2.go
const3.go
const4.go
const5.go
const6.go
convT2X.go
convert.go
convert1.go
convert2.go cmd/compile: ignore struct tags when converting structs 2016-10-04 17:10:47 +00:00
convert3.go
convlit.go
convlit1.go
copy.go
copy1.go cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
crlf.go
ddd.go
ddd1.go test: reenable ... test 2017-08-11 17:41:17 +00:00
ddd2.go
decl.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
declbad.go
defer.go
deferfin.go
deferprint.go
deferprint.out
devirt.go cmd/compile: de-virtualize interface calls 2017-03-14 18:49:23 +00:00
divide.go
divmod.go
empty.go
env.go os: remove Getenverror 2012-02-18 21:18:13 -08:00
eof.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
eof1.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
errchk
escape.go
escape2.go test: add missing escape analysis test 2017-08-11 00:56:21 +00:00
escape2n.go test: add missing escape analysis test 2017-08-11 00:56:21 +00:00
escape3.go
escape4.go cmd/compile: inline calls to local closures 2017-10-11 22:32:36 +00:00
escape5.go cmd/compile: unnamed parameters do not escape 2017-03-24 17:14:00 +00:00
escape_array.go
escape_because.go cmd/compile: add explicit 'where' to EscStep data for explanations 2016-10-26 18:46:59 +00:00
escape_calls.go
escape_closure.go cmd/compile/internal/syntax: establish principled position information 2017-02-15 01:33:03 +00:00
escape_field.go
escape_iface.go cmd/compile: avoid leak of dottype expression on double assignment form 2016-10-10 12:09:16 +00:00
escape_indir.go
escape_level.go
escape_map.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
escape_param.go
escape_slice.go
escape_struct_param1.go
escape_struct_param2.go
escape_struct_return.go
fibo.go Fix whitespace (use blanks consistently). 2014-12-08 22:22:58 +00:00
finprofiled.go
float_lit.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
float_lit2.go test/float_lit2: fix expressions in comment 2016-09-14 16:39:47 +00:00
float_lit3.go
floatcmp.go
for.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
func.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
func1.go
func2.go
func3.go
func4.go
func5.go
func6.go
func7.go
func8.go
funcdup.go
funcdup2.go
gc.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
gc1.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
gc2.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
gcstring.go
goprint.go
goprint.out
goto.go cmd/compile: report block start for gotos jumping into blocks 2017-04-19 02:27:58 +00:00
heapsampling.go
helloworld.go
helloworld.out
if.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
import.go
import1.go
import2.go
import4.go
import5.go cmd/compile: be slightly more tolerant in case of certain syntax errors 2017-03-24 20:07:15 +00:00
import6.go cmd/compile/internal/syntax: removed gcCompat code needed to pass orig. tests 2017-02-10 01:22:30 +00:00
index.go
index0.go
index1.go
index2.go
indirect.go
indirect1.go
init.go Revert "cmd/compile: improve error message if init is directly invoked" 2017-03-06 23:48:37 +00:00
init1.go
initcomma.go
initialize.go
initializerr.go cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
initloop.go
inline.go cmd/compile: inline closures with captures 2017-11-05 04:18:05 +00:00
inline_caller.go runtime: skip logical frames in runtime.Caller 2017-04-18 19:56:30 +00:00
inline_callers.go test: make inline_callers.go test not inline the runtime 2017-11-22 00:52:54 +00:00
inline_literal.go cmd/compile: copy literals when inlining 2017-03-03 21:29:32 +00:00
inline_variadic.go cmd/compile: generate code that type checks when inlining variadic functions 2016-11-30 19:46:00 +00:00
int_lit.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
intcvt.go
intrinsic.go cmd/compile: intrinsify Ctz{32,64} and Bswap{32,64} on s390x 2016-09-19 19:03:01 +00:00
intrinsic_atomic.go cmd/compile: intrinsify atomics on MIPS64 2017-10-10 19:43:38 +00:00
iota.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
label.go
label1.go cmd/compile/internal/gc: don't panic on continue in switch 2017-04-12 14:27:45 +00:00
linkmain.go
linkmain_run.go
linkname.go cmd/compile: include linknames in export data 2017-02-08 20:59:45 +00:00
linkobj.go
linkx.go
linkx_run.go test: print output on link -X failure 2016-04-20 17:37:35 +00:00
literal.go
live.go cmd/compile: specialize map creation for small hint sizes 2017-11-02 17:03:45 +00:00
live1.go
live2.go cmd/compile: specialize map creation for small hint sizes 2017-11-02 17:03:45 +00:00
live_syscall.go cmd/compile: fix unsafe.Pointer liveness for Syscall-like functions 2017-12-08 21:34:24 +00:00
locklinear.go test: deflake locklinear again 2017-04-05 18:46:31 +00:00
loopbce.go cmd/compile: make loop guard+rotate conditional on GOEXPERIMENT 2017-06-21 22:07:33 +00:00
makechan.go cmd/compile: generate makechan calls with int arguments 2017-08-15 05:54:24 +00:00
makemap.go cmd/compile: generate makemap calls with int arguments 2017-08-22 20:28:21 +00:00
makenew.go cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
mallocfin.go
map.go test/mapnan.go: add regression test for non-empty interfaces. 2014-08-06 17:02:55 -04:00
map1.go cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
maplinear.go
mergemul.go cmd/compile: combine x*n - y*n into (x-y)*n 2017-09-03 14:29:38 +00:00
method.go
method1.go
method2.go cmd/compile: add two error position tests for the typechecker 2017-10-12 20:50:20 +00:00
method3.go
method4.go
method5.go
method6.go cmd/compile: add two error position tests for the typechecker 2017-10-12 20:50:20 +00:00
method7.go test: disable broken test for 1.10 2017-12-04 19:29:14 +00:00
named.go
named1.go
nil.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
nilcheck.go
nilptr.go
nilptr2.go
nilptr3.go cmd/compile: remove more nil ptr checks after newobject 2017-08-25 03:26:58 +00:00
nilptr4.go
nosplit.go test: fix and re-enable nosplit.go 2017-10-31 19:12:11 +00:00
notinheap.go cmd/compile/internal/gc: inline typedcl0 and typedcl1 2017-02-01 22:52:32 +00:00
notinheap2.go cmd/compile: add go:notinheap type pragma 2016-10-15 17:58:14 +00:00
notinheap3.go cmd/compile: []T where T is go:notinheap does not need write barriers 2017-11-06 21:07:57 +00:00
nowritebarrier.go cmd/compile: improve coverage of nowritebarrierrec check 2017-10-29 19:36:44 +00:00
nul1.go cmd/compile/internal/gc: enable new parser by default 2016-10-25 22:28:40 +00:00
opt_branchlikely.go cmd/compile: insert scheduling checks on loop backedges 2017-01-09 21:01:29 +00:00
parentype.go
peano.go
phiopt.go test: re-enable phi optimization test 2016-09-13 20:06:13 +00:00
print.go cmd/compile: fix print/println when input is uint 2017-09-26 04:08:38 +00:00
print.out cmd/compile: fix print/println when input is uint 2017-09-26 04:08:38 +00:00
printbig.go
printbig.out
prove.go cmd/compile/internal/gc: improve comparison with constant strings 2017-04-07 15:40:25 +00:00
range.go cmd/compile: improve single blank variable handling in walkrange 2017-09-12 05:50:54 +00:00
recover.go
recover1.go
recover2.go
recover3.go
recover4.go
recover5.go cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
reflectmethod1.go
reflectmethod2.go
reflectmethod3.go
reflectmethod4.go
rename.go
rename1.go cmd/compile: avoid duplicate cast error 2017-08-22 13:44:35 +00:00
reorder.go cmd/compile: Ensure left-to-right assignment 2017-02-11 21:46:21 +00:00
reorder2.go
return.go
rotate.go
rotate0.go
rotate1.go
rotate2.go
rotate3.go
run.go cmd/compile: make -asmhdr work with type aliases 2017-11-29 20:40:41 +00:00
rune.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
runtime.go cmd/compile/internal/gc: separate builtin and real runtime packages 2017-03-01 01:06:32 +00:00
shift1.go cmd/compile: permit indices of certain non-constant shifts 2017-12-01 20:39:50 +00:00
shift2.go
sieve.go
sigchld.go
sigchld.out
simassign.go
sinit.go
sinit_run.go all: retire architecture letter in file names, public API 2015-05-21 17:32:17 +00:00
sizeof.go
slice3.go
slice3err.go
slicecap.go
sliceopt.go cmd/compile: use masks instead of branches for slicing 2016-10-27 20:22:49 +00:00
solitaire.go
stack.go
strength.go
string_lit.go test: add []rune case to string_lit.go 2013-12-12 17:17:02 -08:00
stringrange.go
struct0.go
switch.go
switch2.go
switch3.go
switch4.go
switch5.go cmd/compile: make duplicate expr cases readable 2017-05-19 18:11:51 +00:00
switch6.go cmd/compile: improve error for wrong type in switch 2017-02-02 17:36:43 +00:00
switch7.go cmd/compile: make duplicate expr cases readable 2017-05-19 18:11:51 +00:00
tinyfin.go
torture.go
turing.go
typecheck.go
typecheckloop.go
typeswitch.go
typeswitch1.go
typeswitch2.go cmd/compile/internal/syntax: removed gcCompat code needed to pass orig. tests 2017-02-10 01:22:30 +00:00
typeswitch3.go cmd/compile: add test for non interface type switch 2017-03-25 22:52:54 +00:00
uintptrescapes.go
uintptrescapes2.go cmd/compile: mark temps with new AutoTemp flag, and use it. 2016-10-31 19:38:50 +00:00
undef.go
utf.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
varerr.go
varinit.go
writebarrier.go cmd/compile: don't use statictmps for SSA-able composite literals 2017-05-11 18:28:40 +00:00
zerodivide.go test: lock in test for _ assignment evaluation/zerodivide panic 2016-12-23 17:35:24 +00:00

README.md

The test directory contains tests of the Go tool chain and runtime. It includes black box tests, regression tests, and error output tests. They are run as part of all.bash.

To run just these tests, execute:

go run run.go

Standard library tests should be written as regular Go tests in the appropriate package.

The tool chain and runtime also have regular Go tests in their packages. The main reasons to add a new test to this directory are:

  • it is most naturally expressed using the test runner; or
  • it is also applicable to gccgo and other Go tool chains.