os: use a lower file count for TestOpenFileLimit on openbsd

OpenBSD has a default soft limit of 512 and hard limit of 1024 - as such,
attempting to open 1200 files is always going to fail unless the defaults
have been changed. On this platform use 768 instead such that it passes
without requiring customisation.

Fixes #51713

Change-Id: I7679c8fd73d4b263145129e9308afdb29d67bb54
Reviewed-on: https://go-review.googlesource.com/c/go/+/401594
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
Reviewed-by: 谢致邦 <xiezhibang@gmail.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Peter Weinberger <pjw@google.com>
This commit is contained in:
Joel Sing 2022-04-22 03:30:42 +10:00
parent 9717e8f80f
commit e6dfdbd11d

View File

@ -11,18 +11,21 @@ import (
)
func TestOpenFileLimit(t *testing.T) {
if runtime.GOOS == "openbsd" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64" || runtime.GOARCH == "mips64") {
t.Skip("broken on openbsd/arm, openbsd/arm64, openbsd/mips64 builder - go.dev/issue/51713")
}
// For open file count,
// macOS sets the default soft limit to 256 and no hard limit.
// CentOS and Fedora set the default soft limit to 1024,
// with hard limits of 4096 and 524288, respectively.
// Check that we can open 1200 files, which proves
// that the rlimit is being raised appropriately on those systems.
fileCount := 1200
// OpenBSD has a default soft limit of 512 and hard limit of 1024.
if runtime.GOOS == "openbsd" {
fileCount = 768
}
var files []*File
for i := 0; i < 1200; i++ {
for i := 0; i < fileCount; i++ {
f, err := Open("rlimit.go")
if err != nil {
t.Error(err)