| [short] skip |
| [!race] skip |
| |
| # Make sure test is functional. |
| go test testrace |
| |
| # Now, check that -race -covermode=set is not allowed. |
| ! go test -race -covermode=set testrace |
| stderr '-covermode must be "atomic", not "set", when -race is enabled' |
| ! stdout PASS |
| ! stderr PASS |
| |
| -- testrace/race_test.go -- |
| package testrace |
| |
| import "testing" |
| |
| func TestRace(t *testing.T) { |
| for i := 0; i < 10; i++ { |
| c := make(chan int) |
| x := 1 |
| go func() { |
| x = 2 |
| c <- 1 |
| }() |
| x = 3 |
| <-c |
| _ = x |
| } |
| } |
| |
| func BenchmarkRace(b *testing.B) { |
| for i := 0; i < b.N; i++ { |
| c := make(chan int) |
| x := 1 |
| go func() { |
| x = 2 |
| c <- 1 |
| }() |
| x = 3 |
| <-c |
| _ = x |
| } |
| } |