X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/runtime/race
opt
/
golang
/
1.22.0
/
src
/
runtime
/
race
/
📁
..
📄
README
(1.74 KB)
📄
doc.go
(386 B)
📁
internal
📄
mkcgo.sh
(444 B)
📄
output_test.go
(9.29 KB)
📄
race.go
(868 B)
📄
race_darwin_amd64.go
(5.62 KB)
📄
race_darwin_arm64.go
(5.56 KB)
📄
race_darwin_arm64.syso
(487.41 KB)
📄
race_linux_arm64.syso
(566.44 KB)
📄
race_linux_ppc64le.syso
(710.66 KB)
📄
race_linux_s390x.syso
(569.21 KB)
📄
race_linux_test.go
(1.85 KB)
📄
race_test.go
(6.05 KB)
📄
race_unix_test.go
(762 B)
📄
race_v1_amd64.go
(301 B)
📄
race_v3_amd64.go
(245 B)
📄
race_windows_test.go
(1.28 KB)
📄
sched_test.go
(977 B)
📄
syso_test.go
(725 B)
📁
testdata
📄
timer_test.go
(576 B)
Editing: sched_test.go
// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build race package race_test import ( "fmt" "reflect" "runtime" "strings" "testing" ) func TestRandomScheduling(t *testing.T) { // Scheduler is most consistent with GOMAXPROCS=1. // Use that to make the test most likely to fail. defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(1)) const N = 10 out := make([][]int, N) for i := 0; i < N; i++ { c := make(chan int, N) for j := 0; j < N; j++ { go func(j int) { c <- j }(j) } row := make([]int, N) for j := 0; j < N; j++ { row[j] = <-c } out[i] = row } for i := 0; i < N; i++ { if !reflect.DeepEqual(out[0], out[i]) { return // found a different order } } var buf strings.Builder for i := 0; i < N; i++ { fmt.Fprintf(&buf, "%v\n", out[i]) } t.Fatalf("consistent goroutine execution order:\n%v", buf.String()) }
Upload File
Create Folder