diff options
| author | Russ Cox <rsc@golang.org> | 2023-12-12 12:53:32 -0500 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2024-01-23 18:09:52 +0000 |
| commit | 4085a4893c427a2138e28fe4f16a646e7f571adb (patch) | |
| tree | b9593a44258aae216c874e4d19020519b5cbc9e2 | |
| parent | 76b8bec6dbea9d56edbb5b2e8ab2fcf100ac1cd0 (diff) | |
| download | go-4085a4893c427a2138e28fe4f16a646e7f571adb.tar.xz | |
net: move cgo-using darwin test to separate package
It is a goal / requirement that nothing in the standard library
on darwin require cgo, and this test-only file makes net use
cgo on darwin. Move it elsewhere.
Change-Id: I6c11a8391d3913f73ce0098ba63b29adf5864f93
Reviewed-on: https://go-review.googlesource.com/c/go/+/549255
Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Russ Cox <rsc@golang.org>
| -rw-r--r-- | src/cmd/go/testdata/script/darwin_no_cgo.txt | 9 | ||||
| -rw-r--r-- | src/go/build/deps_test.go | 7 | ||||
| -rw-r--r-- | src/net/internal/cgotest/empty_test.go | 13 | ||||
| -rw-r--r-- | src/net/internal/cgotest/resstate.go (renamed from src/net/cgo_unix_cgo_darwin.go) | 4 |
4 files changed, 30 insertions, 3 deletions
diff --git a/src/cmd/go/testdata/script/darwin_no_cgo.txt b/src/cmd/go/testdata/script/darwin_no_cgo.txt new file mode 100644 index 0000000000..fa445925b7 --- /dev/null +++ b/src/cmd/go/testdata/script/darwin_no_cgo.txt @@ -0,0 +1,9 @@ +# For reproducibility and easier cross-compilation, +# nothing in std is supposed to use cgo on macOS. +# Check that cgo does not appear as a dependency +# of cmd/go, which imports approximately everything +# in std (certainly everything relevant). +[!GOOS:darwin] skip +go list -deps cmd/go +! stdout runtime/cgo + diff --git a/src/go/build/deps_test.go b/src/go/build/deps_test.go index 7ce8d346b4..47a0f3a0b4 100644 --- a/src/go/build/deps_test.go +++ b/src/go/build/deps_test.go @@ -672,7 +672,7 @@ var depsRules = ` internal/coverage, crypto/sha256, FMT < cmd/internal/cov/covcmd; - encoding/json, + encoding/json, runtime/debug, internal/coverage/calloc, internal/coverage/cformat, @@ -680,6 +680,11 @@ var depsRules = ` internal/coverage/encodecounter, internal/coverage/encodemeta, internal/coverage/pods < runtime/coverage; + + # Test-only packages can have anything they want + CGO, internal/syscall/unix < net/internal/cgotest; + + ` // listStdPkgs returns the same list of packages as "go list std". diff --git a/src/net/internal/cgotest/empty_test.go b/src/net/internal/cgotest/empty_test.go new file mode 100644 index 0000000000..c4f601d571 --- /dev/null +++ b/src/net/internal/cgotest/empty_test.go @@ -0,0 +1,13 @@ +// Copyright 2023 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. + +package cgotest + +import "testing" + +// Nothing to test here. +// The test is that the package compiles at all. +// See resstate.go. +func Test(t *testing.T) { +} diff --git a/src/net/cgo_unix_cgo_darwin.go b/src/net/internal/cgotest/resstate.go index 40d5e426f2..1b4871109e 100644 --- a/src/net/cgo_unix_cgo_darwin.go +++ b/src/net/internal/cgotest/resstate.go @@ -2,9 +2,9 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !netgo && cgo && darwin +//go:build cgo && darwin -package net +package cgotest /* #include <resolv.h> |
