Skip to content

Commit

Permalink
os: use a lower file count for TestOpenFileLimit on openbsd
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
4a6f656c committed Apr 23, 2022
1 parent 9717e8f commit e6dfdbd
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions src/os/rlimit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit e6dfdbd

Please sign in to comment.