Text file src/cmd/go/testdata/script/test_race_cover_mode_issue20435.txt

     1  [short] skip
     2  [!race] skip
     3  
     4  # Make sure test is functional.
     5  go test testrace
     6  
     7  # Now, check that -race -covermode=set is not allowed.
     8  ! go test -race -covermode=set testrace
     9  stderr '-covermode must be "atomic", not "set", when -race is enabled'
    10  ! stdout PASS
    11  ! stderr PASS
    12  
    13  -- go.mod --
    14  module testrace
    15  
    16  go 1.16
    17  -- race_test.go --
    18  package testrace
    19  
    20  import "testing"
    21  
    22  func TestRace(t *testing.T) {
    23  	for i := 0; i < 10; i++ {
    24  		c := make(chan int)
    25  		x := 1
    26  		go func() {
    27  			x = 2
    28  			c <- 1
    29  		}()
    30  		x = 3
    31  		<-c
    32  		_ = x
    33  	}
    34  }
    35  
    36  func BenchmarkRace(b *testing.B) {
    37  	for i := 0; i < b.N; i++ {
    38  		c := make(chan int)
    39  		x := 1
    40  		go func() {
    41  			x = 2
    42  			c <- 1
    43  		}()
    44  		x = 3
    45  		<-c
    46  		_ = x
    47  	}
    48  }
    49  

View as plain text