From: Bryan C. Mills Date: Mon, 24 Apr 2023 14:18:07 +0000 (-0400) Subject: runtime: fix CgoRaceprof and CgoRaceSignal build failures X-Git-Tag: go1.21rc1~788 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=5256f90c98cd19b983d35d2377b3fecfd966671e;p=gostls13.git runtime: fix CgoRaceprof and CgoRaceSignal build failures TestRaceProf and TestRaceSignal were changed to run on all platforms that support the race detector as of CL 487575, but the testprogcgo source files needed to run the test rely on POSIX threads and were still build-constrained to only linux/amd64 and freebsd/amd64. Since the C test program appears to require only POSIX APIs, update the constraint to build the source file on all Unix platforms, and update the tests to skip on Windows. This may slightly increase testprogcgo build time on Unix platforms that do not support the race detector. Change-Id: I704dd496d475a3cd2e2da2a09c7d2e3bb8e96d02 Reviewed-on: https://go-review.googlesource.com/c/go/+/488115 Auto-Submit: Bryan Mills TryBot-Result: Gopher Robot Reviewed-by: Michael Knyszek Run-TryBot: Bryan Mills --- diff --git a/src/runtime/crash_cgo_test.go b/src/runtime/crash_cgo_test.go index 5ed82d6eea..6fe9364122 100644 --- a/src/runtime/crash_cgo_test.go +++ b/src/runtime/crash_cgo_test.go @@ -371,6 +371,10 @@ func TestRaceProf(t *testing.T) { if !platform.RaceDetectorSupported(runtime.GOOS, runtime.GOARCH) { t.Skipf("skipping on %s/%s because race detector not supported", runtime.GOOS, runtime.GOARCH) } + if runtime.GOOS == "windows" { + t.Skipf("skipping: test requires pthread support") + // TODO: Can this test be rewritten to use the C11 thread API instead? + } testenv.MustHaveGoRun(t) @@ -399,6 +403,13 @@ func TestRaceSignal(t *testing.T) { if !platform.RaceDetectorSupported(runtime.GOOS, runtime.GOARCH) { t.Skipf("skipping on %s/%s because race detector not supported", runtime.GOOS, runtime.GOARCH) } + if runtime.GOOS == "windows" { + t.Skipf("skipping: test requires pthread support") + // TODO: Can this test be rewritten to use the C11 thread API instead? + } + if runtime.GOOS == "darwin" || runtime.GOOS == "ios" { + testenv.SkipFlaky(t, 59807) + } t.Parallel() diff --git a/src/runtime/testdata/testprogcgo/raceprof.go b/src/runtime/testdata/testprogcgo/raceprof.go index c098e16196..68cabd4101 100644 --- a/src/runtime/testdata/testprogcgo/raceprof.go +++ b/src/runtime/testdata/testprogcgo/raceprof.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build (linux && amd64) || (freebsd && amd64) -// +build linux,amd64 freebsd,amd64 +//go:build unix +// +build unix package main diff --git a/src/runtime/testdata/testprogcgo/racesig.go b/src/runtime/testdata/testprogcgo/racesig.go index 9352679714..b7f3a21529 100644 --- a/src/runtime/testdata/testprogcgo/racesig.go +++ b/src/runtime/testdata/testprogcgo/racesig.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build (linux && amd64) || (freebsd && amd64) -// +build linux,amd64 freebsd,amd64 +//go:build unix +// +build unix package main