]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.18] os: eliminate arbitrary sleep in Kill tests
authorBryan C. Mills <bcmills@google.com>
Wed, 16 Feb 2022 15:24:42 +0000 (10:24 -0500)
committerDmitri Shuralyov <dmitshur@golang.org>
Wed, 16 Feb 2022 21:38:42 +0000 (21:38 +0000)
commite70ee9591464a41ea203ab9e71ba367ec9ea7ac3
treeef3a9d69ed1a2211a7ef1eeea20685cd76399357
parent39d2f50919674f4e450486f4dc1b291d5cd2a35e
[release-branch.go1.18] os: eliminate arbitrary sleep in Kill tests

The test spawned a subprocess that arbitrarily slept for one second.
However, on some platforms, longer than one second may elapse between
starting the subprocess and sending the termination signal.

Instead, the subprocess now closes stdout and reads stdin until EOF,
eliminating the need for an arbitrary duration. (If the parent test
times out, the stdin pipe will break, so the subprocess still won't
leak forever.)

This also makes the test much faster in the typical case: since it
uses synchronization instead of sleeping, it can run as quickly as the
host OS can start and kill the process.

Updates #44131.

Change-Id: I9753571438380dc14fc3531efdaea84578a47fae
Reviewed-on: https://go-review.googlesource.com/c/go/+/386174
Trust: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
(cherry picked from commit eaf040502b763a6f00dced35e4173c2ce90eb52f)
Reviewed-on: https://go-review.googlesource.com/c/go/+/386196
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
src/os/os_test.go