diff --git a/src/cmd/cgo/internal/testsanitizers/asan_test.go b/src/cmd/cgo/internal/testsanitizers/asan_test.go index 1e85a5dda0e58..9bf48915e24c1 100644 --- a/src/cmd/cgo/internal/testsanitizers/asan_test.go +++ b/src/cmd/cgo/internal/testsanitizers/asan_test.go @@ -2,6 +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 || (freebsd && amd64) + package sanitizers_test import ( diff --git a/src/cmd/cgo/internal/testsanitizers/cc_test.go b/src/cmd/cgo/internal/testsanitizers/cc_test.go index 67d281a8c5018..5facb37e68a51 100644 --- a/src/cmd/cgo/internal/testsanitizers/cc_test.go +++ b/src/cmd/cgo/internal/testsanitizers/cc_test.go @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// This test uses the Pdeathsig field of syscall.SysProcAttr, so it only works +// on platforms that support that. + +//go:build linux || (freebsd && amd64) + // sanitizers_test checks the use of Go with sanitizers like msan, asan, etc. // See https://github.com/google/sanitizers. package sanitizers_test diff --git a/src/cmd/cgo/internal/testsanitizers/cshared_test.go b/src/cmd/cgo/internal/testsanitizers/cshared_test.go index 21b13ce4ed0dc..5a8e93d101ca8 100644 --- a/src/cmd/cgo/internal/testsanitizers/cshared_test.go +++ b/src/cmd/cgo/internal/testsanitizers/cshared_test.go @@ -2,6 +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 || (freebsd && amd64) + package sanitizers_test import ( diff --git a/src/cmd/cgo/internal/testsanitizers/empty_test.go b/src/cmd/cgo/internal/testsanitizers/empty_test.go new file mode 100644 index 0000000000000..e7fed99551187 --- /dev/null +++ b/src/cmd/cgo/internal/testsanitizers/empty_test.go @@ -0,0 +1,8 @@ +// Copyright 2022 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. + +// All of the actual test files have limited build constraints. This file +// ensures there's at least one test file on every platform. + +package sanitizers_test diff --git a/src/cmd/cgo/internal/testsanitizers/libfuzzer_test.go b/src/cmd/cgo/internal/testsanitizers/libfuzzer_test.go index 345751b9c761f..f84c9f37ae82f 100644 --- a/src/cmd/cgo/internal/testsanitizers/libfuzzer_test.go +++ b/src/cmd/cgo/internal/testsanitizers/libfuzzer_test.go @@ -2,6 +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 || (freebsd && amd64) + package sanitizers_test import ( diff --git a/src/cmd/cgo/internal/testsanitizers/msan_test.go b/src/cmd/cgo/internal/testsanitizers/msan_test.go index 96397e0a876a3..a05c545d2afda 100644 --- a/src/cmd/cgo/internal/testsanitizers/msan_test.go +++ b/src/cmd/cgo/internal/testsanitizers/msan_test.go @@ -2,6 +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 || (freebsd && amd64) + package sanitizers_test import ( diff --git a/src/cmd/cgo/internal/testsanitizers/tsan_test.go b/src/cmd/cgo/internal/testsanitizers/tsan_test.go index f65d842363242..cb63f873f9013 100644 --- a/src/cmd/cgo/internal/testsanitizers/tsan_test.go +++ b/src/cmd/cgo/internal/testsanitizers/tsan_test.go @@ -2,6 +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 || (freebsd && amd64) + package sanitizers_test import ( diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index 8cd8abc19ec17..1d8125c51d0b4 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -832,11 +832,7 @@ func (t *tester) registerTests() { if t.supportedBuildmode("plugin") { t.registerTest("cgo_testplugin", "", &goTest{pkg: "cmd/cgo/internal/testplugin", timeout: 600 * time.Second}) } - if goos == "linux" || (goos == "freebsd" && goarch == "amd64") { - // because Pdeathsig of syscall.SysProcAttr struct used in cmd/cgo/internal/testsanitizers is only - // supported on Linux and FreeBSD. - t.registerTest("cgo_testsanitizers", "", &goTest{pkg: "cmd/cgo/internal/testsanitizers", timeout: 5 * time.Minute}) - } + t.registerTest("cgo_testsanitizers", "", &goTest{pkg: "cmd/cgo/internal/testsanitizers", timeout: 5 * time.Minute}) if t.hasBash() && goos != "android" && !t.iOS() && gohostos != "windows" { t.registerTest("cgo_errors", "", &goTest{pkg: "cmd/cgo/internal/testerrors", timeout: 5 * time.Minute}) }