aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/race/testdata/sync_test.go
AgeCommit message (Collapse)Author
2020-11-10runtime/race: remove race from TestNoRaceAfterFunc2Mark Pulford
For #14119 Change-Id: I2a9ae43da228cf5c3e38d1f0d1b0768145b6548f Reviewed-on: https://go-review.googlesource.com/c/go/+/267998 Reviewed-by: Dmitry Vyukov <dvyukov@google.com> Run-TryBot: Dmitry Vyukov <dvyukov@google.com> TryBot-Result: Go Bot <gobot@golang.org> Trust: Ian Lance Taylor <iant@golang.org>
2017-11-03cmd/go: run vet automatically during go testRuss Cox
This CL adds an automatic, limited "go vet" to "go test". If the building of a test package fails, vet is not run. If vet fails, the test is not run. The goal is that users don't notice vet as part of the "go test" process at all, until vet speaks up and says something important. This should help users find real problems in their code faster (vet can just point to them instead of needing to debug a test failure) and expands the scope of what kinds of things vet can help with. The "go vet" runs in parallel with the linking of the test binary, so for incremental builds it typically does not slow the overall "go test" at all: there's spare machine capacity during the link. all.bash has less spare machine capacity. This CL increases the time for all.bash on my laptop from 4m41s to 4m48s (+2.5%) To opt out for a given run, use "go test -vet=off". The vet checks used during "go test" are a subset of the full set, restricted to ones that are 100% correct and therefore acceptable to make mandatory. In this CL, that set is atomic, bool, buildtags, nilfunc, and printf. Including printf is debatable, but I want to include it for now and find out what needs to be scaled back. (It already found one real problem in package os's tests that previous go vet os had not turned up.) Now that we can rely on type information it may be that printf should make its function-name-based heuristic less aggressive and have a whitelist of known print/printf functions. Determining the exact set for Go 1.10 is #18085. Running vet also means that programs now have to type-check with both cmd/compile and go/types in order to pass "go test". We don't start vet until cmd/compile has built the test package, so normally the added go/types check doesn't find anything. However, there is at least one instance where go/types is more precise than cmd/compile: declared and not used errors involving variables captured into closures. This CL includes a printf fix to os/os_test.go and many declared and not used fixes in the race detector tests. Fixes #18084. Change-Id: I353e00b9d1f9fec540c7557db5653e7501f5e1c9 Reviewed-on: https://go-review.googlesource.com/74356 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-06-24runtime/race: make test more robustDmitry Vyukov
The test is flaky on builders lately. I don't see any issues other than usage of very small sleeps. So increase the sleeps. Also take opportunity to refactor the code. On my machine this change significantly reduces failure rate with GOMAXPROCS=2. I can't reproduce the failure with GOMAXPROCS=1. Fixes #10726 Change-Id: Iea6f10cf3ce1be5c112a2375d51c13687a8ab4c9 Reviewed-on: https://go-review.googlesource.com/9803 Reviewed-by: Austin Clements <austin@google.com>
2014-09-08build: move package sources from src/pkg to srcRuss Cox
Preparation was in CL 134570043. This CL contains only the effect of 'hg mv src/pkg/* src'. For more about the move, see golang.org/s/go14nopkg.