go/test
Cuong Manh Le 509ddf3868 cmd/compile: ensure bloop only kept alive addressable nodes
Fixes #76636

Change-Id: I881f88dbf62a901452c1d77e6ffca651451c7790
Reviewed-on: https://go-review.googlesource.com/c/go/+/725420
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
2025-12-02 16:56:58 -08:00
..
abi
alias3.dir
arenas
asmhdr.dir
chan
closure3.dir
closure5.dir
codegen test/codegen: fix shift tests on riscv64 2025-11-28 15:26:25 -08:00
ddd2.dir
dwarf
fixedbugs go/types, types2: replace setDefType with pending type check 2025-11-26 16:15:28 -08:00
import2.dir
import4.dir
interface
internal/runtime/sys
intrinsic.dir
ken runtime: use internal/strconv 2025-10-29 11:00:23 -07:00
linkname.dir
linknameasm.dir
method4.dir
retjmp.dir
simd [dev.simd] cmd/compile: fix SIMD const rematerialization condition 2025-09-22 16:19:02 -07:00
stress
syntax
typeparam runtime: use internal/strconv 2025-10-29 11:00:23 -07:00
uintptrescapes.dir
wasmmemsize.dir internal/buildcfg: enable greenteagc experiment by default 2025-10-06 16:01:40 -07:00
64bit.go
235.go
alg.go
alias1.go
alias2.go
alias3.go
alias.go
align.go
append1.go
append.go
args.go
armimm.go
asmhdr.go
assign1.go
assign.go
atomicload.go
bigalg.go
bigmap.go
blank1.go
blank.go
bloop.go cmd/compile: ensure bloop only kept alive addressable nodes 2025-12-02 16:56:58 -08:00
bom.go
bombad.go
bounds.go
cannotassign.go
chancap.go
chanlinear.go
char_lit1.go
char_lit.go
checkbce.go cmd/compile: make prove understand div, mod better 2025-10-29 18:49:40 -07:00
clear.go
clearfat.go
closedchan.go
closure1.go
closure2.go
closure3.go
closure4.go
closure5.go
closure6.go
closure7.go
closure.go
cmp6.go
cmp.go
cmplx.go
cmplxdivide1.go
cmplxdivide.c
cmplxdivide.go
complit1.go go/types, types2: report better error messages for slice expressions 2025-03-11 05:44:15 -07:00
complit.go
compos.go
const1.go
const2.go
const3.go
const4.go
const5.go
const6.go
const7.go
const8.go
const.go
convert1.go
convert2.go
convert3.go
convert4.go
convert5.go cmd/compile: disable use of new saturating float-to-int conversions 2025-10-14 15:09:35 -07:00
convert5.out cmd/compile: modify float-to-[u]int so that amd64 and arm64 match 2025-10-09 08:23:21 -07:00
convert.go
convinline.go
convlit1.go
convlit.go
convT2X.go
copy1.go go/types, types2: better error messages for copy built-in 2025-03-10 21:30:51 -07:00
copy.go
crlf.go
ddd1.go
ddd2.go
ddd.go
decl.go
declbad.go
defer.go
defererrcheck.go
deferfin.go
defernil.go
deferprint.go
deferprint.out runtime: use internal/strconv 2025-10-29 11:00:23 -07:00
devirt.go
devirtualization_nil_panics.go cmd/compile/internal/devirtualize: improve concrete type analysis 2025-10-08 14:09:22 -07:00
devirtualization_with_type_assertions_interleaved.go cmd/compile/internal/devirtualize: improve concrete type analysis 2025-10-08 14:09:22 -07:00
devirtualization.go cmd/compile/internal/devirtualize: fix OCONVNOP assertion 2025-10-14 09:33:37 -07:00
directive2.go
directive.go
divide.go
divmod.go
embedfunc.go
embedvers.go
empty.go
env.go
eof1.go
eof.go
escape2.go cmd/compile: allocate backing store for append on the stack 2025-05-19 16:14:53 -07:00
escape2n.go cmd/compile: allocate backing store for append on the stack 2025-05-19 16:14:53 -07:00
escape3.go
escape4.go
escape5.go cmd/compile/internal/escape: propagate constants to interface conversions to avoid allocs 2025-05-21 12:02:43 -07:00
escape6.go cmd/compile: allow pointer-containing elements in stack allocations 2025-04-04 15:04:34 -07:00
escape_alias.go cmd/compile: introduce alias analysis and automatically free non-aliased memory after growslice 2025-11-26 19:04:05 -08:00
escape_array.go cmd/compile: determine static values of len and cap in make() calls 2025-02-19 13:38:58 -08:00
escape_calls.go cmd/compile: allocate backing store for append on the stack 2025-05-19 16:14:53 -07:00
escape_closure.go
escape_field.go
escape_goto.go
escape_hash_maphash.go
escape_iface_data.go cmd/compile/internal/walk: use global zeroVal in interface conversions for zero values 2025-05-21 12:24:22 -07:00
escape_iface.go cmd/compile/internal/escape: propagate constants to interface conversions to avoid allocs 2025-05-21 12:02:43 -07:00
escape_indir.go
escape_level.go
escape_make_non_const.go cmd/compile: propagate len([]T{}) to make builtin to allow stack allocation 2025-10-02 11:02:07 -07:00
escape_map.go cmd/compile: allocate backing store for append on the stack 2025-05-19 16:14:53 -07:00
escape_mutations.go
escape_param.go
escape_reflect.go
escape_runtime_atomic.go
escape_selfassign.go
escape_slice.go cmd/compile: allocate backing store for append on the stack 2025-05-19 16:14:53 -07:00
escape_struct_param1.go
escape_struct_param2.go
escape_struct_return.go
escape_sync_atomic.go
escape_unique.go cmd/compile, unique: model data flow of non-string pointers 2025-05-21 20:07:36 -07:00
escape_unsafe.go
escape.go
fibo.go
finprofiled.go
float_lit2.go
float_lit3.go
float_lit.go
floatcmp.go
for.go
func1.go
func2.go
func3.go
func4.go
func5.go
func6.go
func7.go
func8.go
func.go
funcdup2.go
funcdup.go
fuse.go
gc1.go
gc2.go
gc.go
gcgort.go
gcstring.go
goprint.go
goprint.out runtime: use internal/strconv 2025-10-29 11:00:23 -07:00
goto.go
heapsampling.go cmd/compile: call generated size-specialized malloc functions directly 2025-10-09 14:59:40 -07:00
helloworld.go
helloworld.out
if.go
import1.go
import2.go
import4.go
import5.go
import6.go
import.go
index0.go
index1.go
index2.go
index.go
indirect1.go
indirect.go
init1.go
init.go
initcomma.go
initexp.go
initialize.go
initializerr.go
initloop.go
inline_big.go
inline_caller.go
inline_callers.go
inline_endian.go cmd/compile: allocate backing store for append on the stack 2025-05-19 16:14:53 -07:00
inline_literal.go
inline_math_bits_rotate.go
inline_sync.go sync: use atomic.Bool for Once.done 2025-04-22 08:28:13 -07:00
inline_variadic.go
inline.go cmd/compile: remove no-longer-necessary recursive inlining checks 2025-03-06 10:07:17 -08:00
int_lit.go
intcvt.go
intrinsic_atomic.go
intrinsic.go
iota.go
label1.go
label.go
linkmain_run.go
linkmain.go
linkname3.go
linkname.go
linknameasm.go
linkobj.go
linkx_run.go
linkx.go
literal2.go
literal.go
live1.go
live2.go all: remove GOEXPERIMENT=swissmap 2025-07-30 11:47:14 -07:00
live_regabi.go test: fix tests to work with sizespecializedmalloc turned off 2025-11-13 16:57:31 -08:00
live_uintptrkeepalive.go
live.go test: fix tests to work with sizespecializedmalloc turned off 2025-11-13 16:57:31 -08:00
loopbce.go cmd/compile: add cases for StringLen to prove 2025-11-24 15:49:12 -08:00
mainsig.go
makechan.go
makemap.go
makenew.go
makeslice.go
mallocfin.go
map1.go
map.go
mapclear.go
maplinear.go
maymorestack.go
mergemul.go
method1.go
method2.go
method3.go
method4.go
method5.go
method6.go
method7.go
method.go
named1.go
named.go
newexpr.go cmd/compile: fix ICE with new(<untyped expr>) 2025-09-26 10:10:03 -07:00
newinline.go cmd/compile: remove no-longer-necessary recursive inlining checks 2025-03-06 10:07:17 -08:00
nil.go
nilcheck.go
nilptr2.go
nilptr3.go
nilptr4.go
nilptr5_aix.go cmd/compile: duplicate nil check to two branches of write barrier 2025-09-19 07:13:32 -07:00
nilptr5_wasm.go cmd/compile: duplicate nil check to two branches of write barrier 2025-09-19 07:13:32 -07:00
nilptr5.go cmd/compile: duplicate nil check to two branches of write barrier 2025-09-19 07:13:32 -07:00
nilptr_aix.go
nilptr.go cmd/link: use >4GB base address for 64-bit PE binaries 2025-05-12 11:05:28 -07:00
noinit.go
nosplit.go Revert "cmd/compile: redo arm64 LR/FP save and restore" 2025-10-07 08:21:14 -07:00
nowritebarrier.go
nul1.go
opt_branchlikely.go
parentype.go
peano.go
phiopt.go cmd/compile: add 2 phiopt cases 2025-05-08 10:18:37 -07:00
print.go
print.out runtime: use internal/strconv 2025-10-29 11:00:23 -07:00
printbig.go
printbig.out
prove_constant_folding.go cmd/compile: rewrite Rsh to RshU if arguments are proved positive 2025-11-21 12:37:30 -08:00
prove_invert_loop_with_unused_iterators.go cmd/compile: make prove understand div, mod better 2025-10-29 18:49:40 -07:00
prove_popcount.go cmd/compile: compute bits.OnesCount's limits from argument's limits 2025-03-11 20:17:36 -07:00
prove.go cmd/compile: add cases for StringLen to prove 2025-11-24 15:49:12 -08:00
range2.go internal/goexperiment: delete RangeFunc goexperiment 2025-07-29 12:44:58 -07:00
range3.go
range4.go internal/goexperiment: delete RangeFunc goexperiment 2025-07-29 12:44:58 -07:00
range.go
rangegen.go internal/goexperiment: delete RangeFunc goexperiment 2025-07-29 12:44:58 -07:00
README.md
recover1.go
recover2.go
recover3.go
recover4.go
recover5.go
recover.go
reflectmethod1.go
reflectmethod2.go
reflectmethod3.go
reflectmethod4.go
reflectmethod5.go
reflectmethod6.go
reflectmethod7.go
reflectmethod8.go
rename1.go
rename.go
reorder2.go
reorder.go
retjmp.go
return.go
rotate0.go
rotate1.go
rotate2.go
rotate3.go
rotate.go
rune.go
runtime.go
shift1.go
shift2.go
shift3.go
sieve.go
sigchld.go
sigchld.out
simassign.go
simd_inline.go [dev.simd] cmd/compile: enhance inlining for closure-of-SIMD 2025-10-29 13:46:34 -07:00
simd.go [dev.simd] simd: update CPU feature APIs 2025-11-17 13:37:30 -08:00
sizeof.go
slice3.go
slice3err.go
slicecap.go
sliceopt.go
solitaire.go
stack.go
stackobj2.go
stackobj3.go
stackobj.go
strcopy.go
strength.go
string_lit.go
stringrange.go
struct0.go
switch2.go
switch3.go
switch4.go
switch5.go
switch6.go
switch7.go
switch.go
tailcall.go Revert "cmd/compile: Enable inlining of tail calls" 2025-06-04 08:27:44 -07:00
tighten.go cmd/compile: pair loads and stores on arm64 2025-02-13 14:07:47 -08:00
tinyfin.go
torture.go
turing.go
typecheck.go
typecheckloop.go
typeswitch1.go
typeswitch2.go
typeswitch2b.go
typeswitch3.go
typeswitch.go
uintptrescapes2.go test: fix tests to work with sizespecializedmalloc turned off 2025-11-13 16:57:31 -08:00
uintptrescapes3.go
uintptrescapes.go
uintptrkeepalive.go
undef.go
unsafe_slice_data.go
unsafe_string_data.go
unsafe_string.go
unsafebuiltins.go
used.go cmd/compile/internal: support new(expr) 2025-09-23 13:12:12 -07:00
utf.go
varerr.go
varinit.go
wasmexport2.go
wasmexport.go
wasmmemsize.go
weak.go
winbatch.go
writebarrier.go
zerodivide.go
zerosize.go

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:

../bin/go test cmd/internal/testdir

To run just tests from specified files in this directory, execute:

../bin/go test cmd/internal/testdir -run='Test/(file1.go|file2.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.