Skip to content

cmd/dist: run cmd tests in race modeย #37940

Closed
@bcmills

Description

@bcmills

When race.bash was originally added (back in CL 7179052), the Go compiler was still written in C and thus was not meaningful to test under the race detector.
(I'm not sure why the rest of cmd was not tested under the race detector at that point. Perhaps @davecheney remembers?)

When race.bash was gutted and moved into cmd/dist, that behavior was retained:

go/src/cmd/dist/test.go

Lines 1529 to 1532 in b3b174f

func (t *tester) shouldTestCmd() bool {
if t.race {
return false
}

These days, cmd includes an extensive amount of Go code, much of which includes non-trivial concurrency, and some of which exercises packages that do not themselves have race-detector tests (#32783).

I think we should be testing all of cmd under the race detector, not just std. It will increase builder latency and potentially cost more resources, but the additional benefit of testing the concurrent code in cmd seems well worth the cost.

CC @golang/osp-team @josharian @dvyukov

Metadata

Metadata

Assignees

No one assigned

    Labels

    Buildersx/build issues (builders, bots, dashboards)FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.RaceDetector

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions