8 comments (8 comments)0 reactions (0 reactions)0 assignees (0 assignees)Go19,008 forks (19,008 forks)batch import
NeedsFixcompiler/runtimehelp wanted
Repository metrics
- Stars
- 133,883 stars (133,883 stars)
- PR merge metrics
- No merged PRs in 30d (No merged PRs in 30d)
Description
See https://go-review.googlesource.com/#/c/18968 for context.
Race tests run with GOMAXPROCS=1, this makes them more or less reliable. But the ultimate solution is to explicitly annotate tests with required execution order by means of a special "invisible" synchronization primitive (that's what is done for C++ ThreadSanitizer tests). But that would require going over 350 tests.
Contributor guide
- Research direction
- Examine the referenced CL 18968 for context. Understand how race tests currently run with GOMAXPROCS=1 and why it causes flakiness. Investigate the proposed solution of adding an explicit synchronization primitive to annotate required execution order in tests. Look at existing race tests in the runtime/race directory to identify patterns and implement a simple synchronization helper.
- Tech stack
- go
- Domain
- testing
- Issue type
- Test
- Prerequisites
- GitGo