aboutsummaryrefslogtreecommitdiff
path: root/src/os/exec/exec_test.go
diff options
context:
space:
mode:
authorBryan C. Mills <bcmills@google.com>2022-09-29 08:40:37 -0400
committerGopher Robot <gobot@golang.org>2022-10-04 23:19:13 +0000
commit0fec65d281af8932ce8da946faa55884f2427cfc (patch)
treede48e699b6cb34c479cd9ff510dd6c6946aea726 /src/os/exec/exec_test.go
parente7d203f494281a229a7d4ef769f14975e9b12e4e (diff)
downloadgo-0fec65d281af8932ce8da946faa55884f2427cfc.tar.xz
os/exec: add a GODEBUG setting to diagnose leaked processes
Updates #52580. For #50436. Change-Id: I669f13863f1f85d576c3c94500b118e6989000eb Reviewed-on: https://go-review.googlesource.com/c/go/+/436655 Auto-Submit: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Bryan Mills <bcmills@google.com>
Diffstat (limited to 'src/os/exec/exec_test.go')
-rw-r--r--src/os/exec/exec_test.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/os/exec/exec_test.go b/src/os/exec/exec_test.go
index 822f606d66..13715fecac 100644
--- a/src/os/exec/exec_test.go
+++ b/src/os/exec/exec_test.go
@@ -38,6 +38,13 @@ import (
var haveUnexpectedFDs bool
func init() {
+ godebug := os.Getenv("GODEBUG")
+ if godebug != "" {
+ godebug += ","
+ }
+ godebug += "execwait=2"
+ os.Setenv("GODEBUG", godebug)
+
if os.Getenv("GO_EXEC_TEST_PID") != "" {
return
}
@@ -76,6 +83,14 @@ func TestMain(m *testing.M) {
}
}
}
+
+ if !testing.Short() {
+ // Run a couple of GC cycles to increase the odds of detecting
+ // process leaks using the finalizers installed by GODEBUG=execwait=2.
+ runtime.GC()
+ runtime.GC()
+ }
+
os.Exit(code)
}