diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-10-01 14:31:19 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-10-01 15:03:39 +0200 |
| commit | 483ff3543746ca3dc97eac8f506564f4e617a8f2 (patch) | |
| tree | e6d6dc8515198bc2fbbfa66cc69fc9ea3812dbe4 /prog/export_test.go | |
| parent | 8441eb82f3a1a4d03eb0e194e91bc86017ab4466 (diff) | |
prog: reduce size of tests in race mode
More race timeouts on CI. Exclude more tests.
This reduces prog test time fron 81 to 15 sec with GOMAXPROCS=1.
Diffstat (limited to 'prog/export_test.go')
| -rw-r--r-- | prog/export_test.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/prog/export_test.go b/prog/export_test.go index 8e31a036b..a007ed3ce 100644 --- a/prog/export_test.go +++ b/prog/export_test.go @@ -57,6 +57,7 @@ func testEachTarget(t *testing.T, fn func(t *testing.T, target *Target)) { for _, target := range AllTargets() { target := target t.Run(fmt.Sprintf("%v/%v", target.OS, target.Arch), func(t *testing.T) { + skipTargetRace(t, target) t.Parallel() fn(t, target) }) @@ -76,12 +77,22 @@ func testEachTargetRandom(t *testing.T, fn func(t *testing.T, target *Target, rs target := target rs := rand.NewSource(rs0.Int63()) t.Run(fmt.Sprintf("%v/%v", target.OS, target.Arch), func(t *testing.T) { + skipTargetRace(t, target) t.Parallel() fn(t, target, rs, iters) }) } } +func skipTargetRace(t *testing.T, target *Target) { + // Race execution is slow and we are getting timeouts on CI. + // For tests that run for all targets, leave only 2 targets, + // this should be enough to detect some races. + if raceEnabled && (target.OS != "test" || target.Arch != "64" && target.Arch != "32") { + t.Skip("skipping all but test/64 targets in race mode") + } +} + func initBench(b *testing.B) (*Target, func()) { olddebug := debug debug = false |
