1
0
mirror of https://github.com/golang/go synced 2024-10-03 15:21:22 -06:00

cmd/compile/internal/gc: make tests run faster

TestAssembly takes 20s on my machine,
which is too slow for normal operation.
Marking as -short has its dangers (#17472),
but hopefully we'll soon have a builder for that.

All the SSA tests are hermetic and not time sensitive
and can thus be run in parallel.
Reduces the cmd/compile/internal/gc test time during
all.bash on my laptop from 42s to 7s.

Updates #17751

Change-Id: Idd876421db23b9fa3475e8a9b3355a5dc92a5a29
Reviewed-on: https://go-review.googlesource.com/32585
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Josh Bleecher Snyder 2016-11-02 17:55:29 -07:00
parent 827f2accc1
commit 66504485eb
2 changed files with 5 additions and 0 deletions

View File

@ -21,6 +21,9 @@ import (
// TestAssembly checks to make sure the assembly generated for // TestAssembly checks to make sure the assembly generated for
// functions contains certain expected instructions. // functions contains certain expected instructions.
func TestAssembly(t *testing.T) { func TestAssembly(t *testing.T) {
if testing.Short() {
t.Skip("slow test; skipping")
}
testenv.MustHaveGoBuild(t) testenv.MustHaveGoBuild(t)
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
// TODO: remove if we can get "go tool compile -S" to work on windows. // TODO: remove if we can get "go tool compile -S" to work on windows.

View File

@ -16,9 +16,11 @@ import (
// TODO: move all these tests elsewhere? // TODO: move all these tests elsewhere?
// Perhaps teach test/run.go how to run them with a new action verb. // Perhaps teach test/run.go how to run them with a new action verb.
func runTest(t *testing.T, filename string) { func runTest(t *testing.T, filename string) {
t.Parallel()
doTest(t, filename, "run") doTest(t, filename, "run")
} }
func buildTest(t *testing.T, filename string) { func buildTest(t *testing.T, filename string) {
t.Parallel()
doTest(t, filename, "build") doTest(t, filename, "build")
} }
func doTest(t *testing.T, filename string, kind string) { func doTest(t *testing.T, filename string, kind string) {