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>
diff --git a/src/os/rlimit_test.go b/src/os/rlimit_test.go
index 58a6a05..c02e36f 100644
--- a/src/os/rlimit_test.go
+++ b/src/os/rlimit_test.go
@@ -11,18 +11,21 @@
)
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)