go/test
Cherry Mui c456ab7a30 [dev.simd] all: merge master (a33bbf1) into dev.simd
Merge List:

+ 2025-12-08 a33bbf1988 weak: fix weak pointer test to correctly iterate over weak pointers after GC
+ 2025-12-08 a88a96330f cmd/cgo: use doc link for cgo.Handle
+ 2025-12-08 276cc4d3db cmd/link: fix AIX builds after recent linker changes
+ 2025-12-08 f2d96272cb runtime/trace: update TestSubscribers to dump traces
+ 2025-12-08 4837bcc92c internal/trace: skip tests for alloc/free experiment by default
+ 2025-12-08 b5f6816cea cmd/link: generate DWARF for moduledata
+ 2025-12-08 44a39c9dac runtime: only run TestNotInGoMetricCallback when building with cgo
+ 2025-12-08 3a6a034cd6 runtime: disable TestNotInGoMetricCallback on FreeBSD + race
+ 2025-12-08 4122d3e9ea runtime: use atomic C types with atomic C functions
+ 2025-12-08 34397865b1 runtime: deflake TestProfBufWakeup
+ 2025-12-08 d4972f6295 runtime: mark getfp as nosplit
+ 2025-12-05 0d0d5c9a82 test/codegen: test negation with add/sub on riscv64
+ 2025-12-05 2e509e61ef cmd/go: convert some more tests to script tests
+ 2025-12-05 c270e71835 cmd/go/internal/vet: skip -fix on pkgs from vendor or non-main mod
+ 2025-12-05 745349712e runtime: don't count nGsyscallNoP for extra Ms in C
+ 2025-12-05 f3d572d96a cmd/go: fix race applying fixes in fix and vet -fix modes
+ 2025-12-05 76345533f7 runtime: expand Pinner documentation
+ 2025-12-05 b133524c0f cmd/go/testdata/script: skip vet_cache in short mode
+ 2025-12-05 96e142ba2b runtime: skip TestArenaCollision if we run out of hints
+ 2025-12-05 fe4952f116 runtime: relax threadsSlack in TestReadMetricsSched
+ 2025-12-05 8947f092a8 runtime: skip mayMoreStackMove in goroutine leak tests
+ 2025-12-05 44cb82449e runtime/race: set missing argument frame for ppc64x atomic And/Or wrappers
+ 2025-12-05 435e61c801 runtime: reject any goroutine leak test failure that failed to execute
+ 2025-12-05 54e5540014 runtime: print output in case of segfault in goroutine leak tests
+ 2025-12-05 9616c33295 runtime: don't specify GOEXPERIMENT=greenteagc in goroutine leak tests
+ 2025-12-05 2244bd7eeb crypto/subtle: add speculation barrier after DIT
+ 2025-12-05 f84f8d86be cmd/compile: fix mis-infer bounds in slice len/cap calculations
+ 2025-12-05 a70addd3b3 all: fix some comment issues
+ 2025-12-05 93b49f773d internal/runtime/maps: clarify probeSeq doc comment
+ 2025-12-04 91267f0a70 all: update vendored x/tools
+ 2025-12-04 a753a9ed54 cmd/internal/fuzztest: move fuzz tests out of cmd/go test suite
+ 2025-12-04 1681c3b67f crypto: use rand.IsDefaultReader instead of comparing to boring.RandReader
+ 2025-12-04 7b67b68a0d cmd/compile: use isUnsignedPowerOfTwo rather than isPowerOfTwo for unsigneds
+ 2025-12-03 2b62144069 all: REVERSE MERGE dev.simd (9ac524a) into master

Change-Id: Ia0cdf06cdde89b6a4db30ed15ed8e0bcbac6ae30
2025-12-08 17:41:05 -05:00
..
abi
alias3.dir
arenas
asmhdr.dir
chan
closure3.dir cmd/compile: use very high budget for once-called closures 2024-11-22 02:04:41 +00:00
closure5.dir
codegen [dev.simd] all: merge master (a33bbf1) into dev.simd 2025-12-08 17:41:05 -05:00
ddd2.dir
dwarf
fixedbugs cmd/compile: fix mis-infer bounds in slice len/cap calculations 2025-12-05 08:02:02 -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] simd, cmd/compile: move "simd" to "simd/archsimd" 2025-12-08 13:57:44 -08: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: use isUnsignedPowerOfTwo rather than isPowerOfTwo for unsigneds 2025-12-04 08:13:28 -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] simd, cmd/compile: move "simd" to "simd/archsimd" 2025-12-08 13:57:44 -08:00
simd.go [dev.simd] simd, cmd/compile: move "simd" to "simd/archsimd" 2025-12-08 13:57:44 -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 weak: prevent unsafe conversions using weak pointers 2025-02-06 13:16:59 -08:00
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.