]> Cypherpunks repositories - gostls13.git/commitdiff
os: use a lower file count for TestOpenFileLimit on openbsd
authorJoel Sing <joel@sing.id.au>
Thu, 21 Apr 2022 17:30:42 +0000 (03:30 +1000)
committerJoel Sing <joel@sing.id.au>
Sat, 23 Apr 2022 14:26:25 +0000 (14:26 +0000)
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>
src/os/rlimit_test.go

index 58a6a051b384e6419b75c40d3c12cf456d8d22cf..c02e36f3f76a682f07c59ec4526ed7d261549896 100644 (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)