go/test
Joel Sing 7971fcdf53 test/codegen: tidy tests for bits
Use Go idiomatic function names, use a common prefix, attempt to
maintain some consistency, avoid naming functions based upon
machine specific instructions and combine a duplicate test that
likely exists due to this confusion.

Change-Id: I996e9efd7497821edef94c1997d4a310d9d79a71
Reviewed-on: https://go-review.googlesource.com/c/go/+/732200
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: Joel Sing <joel@sing.id.au>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
2025-12-26 07:51:44 -08:00
..
abi
alias3.dir
arenas
asmhdr.dir
chan
closure3.dir
closure5.dir
codegen test/codegen: tidy tests for bits 2025-12-26 07:51:44 -08:00
ddd2.dir
dwarf
fixedbugs cmd/compile: handle propagating an out-of-range jump table index 2025-12-23 07:32:56 -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
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
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
escape2n.go
escape3.go
escape4.go
escape5.go
escape6.go
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
escape_calls.go
escape_closure.go
escape_field.go
escape_goto.go
escape_hash_maphash.go
escape_iface_data.go
escape_iface.go
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
escape_mutations.go
escape_param.go
escape_reflect.go
escape_runtime_atomic.go
escape_selfassign.go
escape_slice.go
escape_struct_param1.go
escape_struct_param2.go
escape_struct_return.go
escape_sync_atomic.go
escape_unique.go
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
inline_literal.go
inline_math_bits_rotate.go
inline_sync.go
inline_variadic.go
inline.go
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
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
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
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
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
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.