Skip to content

Commit

Permalink
[release-branch.go1.21] os/signal: skip nohup tests on darwin builders
Browse files Browse the repository at this point in the history
The new LUCI builders have a temporary limitation that breaks nohup.
Skip nohup tests there.

For #63875.
Fixes #63911.

Cq-Include-Trybots: luci.golang.try:go1.21-darwin-amd64_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>
(cherry picked from commit a334c45)
Reviewed-on: https://go-review.googlesource.com/c/go/+/546022
  • Loading branch information
prattmic authored and cagedmantis committed Dec 8, 2023
1 parent 7dc67e8 commit bbab863
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/os/signal/signal_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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)
}
}
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit bbab863

Please sign in to comment.