]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: fix CgoRaceprof and CgoRaceSignal build failures
authorBryan C. Mills <bcmills@google.com>
Mon, 24 Apr 2023 14:18:07 +0000 (10:18 -0400)
committerGopher Robot <gobot@golang.org>
Mon, 24 Apr 2023 18:13:14 +0000 (18:13 +0000)
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 <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>

src/runtime/crash_cgo_test.go
src/runtime/testdata/testprogcgo/raceprof.go
src/runtime/testdata/testprogcgo/racesig.go

index 5ed82d6eea614e3a00c9932dd81a35d2b0a804d5..6fe9364122538c7007ee6f22dc9bf7428b1c2594 100644 (file)
@@ -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()
 
index c098e16196d1edea0d0dc00fefbce0a7942991d7..68cabd410103b25d45e71ec4a757df03fc227282 100644 (file)
@@ -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
 
index 93526797146bec160de1a4f036dd65de84928afc..b7f3a215296e7ff61a935c5e2188862570f26b1e 100644 (file)
@@ -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