]> Cypherpunks.ru repositories - gostls13.git/commitdiff
os/signal: skip nohup tests on darwin builders
authorMichael Pratt <mpratt@google.com>
Wed, 1 Nov 2023 15:55:10 +0000 (11:55 -0400)
committerMichael Pratt <mpratt@google.com>
Thu, 2 Nov 2023 17:31:41 +0000 (17:31 +0000)
The new LUCI builders have a temporary limitation that breaks nohup.
Skip nohup tests there.

For #63875.

Cq-Include-Trybots: luci.golang.try:gotip-darwin-arm64_13
Change-Id: Ia9ffecea7310f84a21f6138d8f8cdfc5e1392307
Reviewed-on: https://go-review.googlesource.com/c/go/+/538698
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
src/os/signal/signal_test.go

index 091a6ace73c5711d2f0191bd8e23c8f0ecc98f80..23040dc443774de520582a5a6b521e4872d88e38 100644 (file)
@@ -308,6 +308,7 @@ func TestDetectNohup(t *testing.T) {
                        t.Errorf("ran test with -check_sighup_ignored and it succeeded: expected failure.\nOutput:\n%s", out)
                }
                Stop(c)
+
                // Again, this time with nohup, assuming we can find it.
                _, err := os.Stat("/usr/bin/nohup")
                if err != nil {
@@ -320,6 +321,13 @@ func TestDetectNohup(t *testing.T) {
                data, _ := os.ReadFile("nohup.out")
                os.Remove("nohup.out")
                if err != nil {
+                       // nohup doesn't work on new LUCI darwin builders due to the
+                       // type of launchd service the test run under. See
+                       // https://go.dev/issue/63875.
+                       if runtime.GOOS == "darwin" && strings.Contains(string(out), "nohup: can't detach from console: Inappropriate ioctl for device") {
+                               t.Skip("Skipping nohup test due to darwin builder limitation. See https://go.dev/issue/63875.")
+                       }
+
                        t.Errorf("ran test with -check_sighup_ignored under nohup and it failed: expected success.\nError: %v\nOutput:\n%s%s", err, out, data)
                }
        }
@@ -498,6 +506,16 @@ func TestNohup(t *testing.T) {
                                out, err := testenv.Command(t, "nohup", args...).CombinedOutput()
 
                                if err != nil {
+                                       // nohup doesn't work on new LUCI darwin builders due to the
+                                       // type of launchd service the test run under. See
+                                       // https://go.dev/issue/63875.
+                                       if runtime.GOOS == "darwin" && strings.Contains(string(out), "nohup: can't detach from console: Inappropriate ioctl for device") {
+                                               // TODO(go.dev/issue/63799): A false-positive in vet reports a
+                                               // t.Skip here as invalid. Switch back to t.Skip once fixed.
+                                               t.Logf("Skipping nohup test due to darwin builder limitation. See https://go.dev/issue/63875.")
+                                               return
+                                       }
+
                                        t.Errorf("ran test with -send_uncaught_sighup=%d under nohup and it failed: expected success.\nError: %v\nOutput:\n%s", i, err, out)
                                } else {
                                        t.Logf("ran test with -send_uncaught_sighup=%d under nohup.\nOutput:\n%s", i, out)