Hi,
I finally found some time to work on this and I think I figured out
why it fails. I run a very large history file (my HISTSIZE is set to
100000) and on this particular machine I'm at the limit. This causes
the os/signal test to run an average 6-7 seconds. The test timeout as
shown in my second email seems to be 5 seconds.
The easiest way I could find to disable history loading in the bash
shell is to set HISTFILE=/dev/null. This reduces the test duration to
~0.2 seconds from ~1.9 seconds. This is sufficient to pass the test:
------------8<--------------------
$ go test -run TestTerminalSignal # original
PASS
ok os/signal 1.923s
$ vi signal_cgo_test.go
$ go test -run TestTerminalSignal # with HISTFILE=/dev/null
PASS
ok os/signal 0.136s
$ git diff .
diff --git a/src/os/signal/signal_cgo_test.go b/src/os/signal/signal_cgo_test.go
index 84a2a08ce9..c1cedc7910 100644
--- a/src/os/signal/signal_cgo_test.go
+++ b/src/os/signal/signal_cgo_test.go
@@ -89,6 +89,7 @@ func TestTerminalSignal(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
cmd := exec.CommandContext(ctx, bash, "--norc", "--noprofile", "-i")
+ cmd.Env = append(os.Environ(), "HISTFILE=/dev/null")
cmd.Stdin = slave
cmd.Stdout = slave
cmd.Stderr = slave
------------8<--------------------
If this is an acceptable solution I can prepare a PR on GitHub.
On Tue, Feb 6, 2018 at 4:20 PM, Ian Lance Taylor <[email protected]> wrote:
> On Tue, Feb 6, 2018 at 2:54 PM, andrey mirtchovski
> <[email protected]> wrote:
>> $ go test -c os/signal
>> $ ./signal.test
>> PASS
>> $ go tool dist test -v
>>
>> ##### Testing packages.
>> # go tool dist test -run=^go_test:archive/tar$
>> [...]
>> ok net/url (cached)
>> ok os 0.677s
>> ok os/exec 1.414s
>> --- FAIL: TestTerminalSignal (5.01s)
>> signal_cgo_test.go:138: "PS1='prompt> '\r\n"
>> signal_cgo_test.go:163: timed out waiting for shell prompt
>> FAIL
>> FAIL os/signal 10.104s
>> ok os/user (cached)
>> [...]
>>
>> At which point I interrupted it. I blew up the entire go repo at and
>> cloned it again at tip. This persists.
>>
>> $ go version
>> go version devel +23e8e197b0 Tue Feb 6 18:24:33 2018 +0000 darwin/amd64
>
> I'm sorry, I have no idea, and nobody else has reported this. We
> could just disable the test, but it would be nice to see at least one
> more report before doing that.
>
> Ian
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.