From c6a50ca82c9cc014416a51aa20f778292e3bf7ed Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Sat, 31 Dec 2016 08:59:44 -0500 Subject: test: jobclose(): Avoid indeterminism. (#5851) stdout activity may reach the queue before `exit`; just discard it. Observed on Travis CI, ubuntu "trusty" beta image: [ RUN ] ...is/build/neovim/neovim/test/functional/core/job_spec.lua @ 509: jobs running tty-test program jobclose() sends SIGHUP ...is/build/neovim/neovim/test/functional/core/job_spec.lua:511: Expected objects to be the same. Passed in: (table) { [1] = 'notification' *[2] = 'stdout' [3] = { [1] = 0 [2] = { [1] = ' ' [2] = '' } } } Expected: (table) { [1] = 'notification' *[2] = 'exit' [3] = { [1] = 0 [2] = 42 } } stack traceback: ...is/build/neovim/neovim/test/functional/core/job_spec.lua:511: in function <...is/build/neovim/neovim/test/functional/core/job_spec.lua:509> [ FAILED ] ...is/build/neovim/neovim/test/functional/core/job_spec.lua @ 509: jobs running tty-test program jobclose() sends SIGHUP (2.81 ms) --- test/functional/core/job_spec.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/functional/core/job_spec.lua b/test/functional/core/job_spec.lua index e4b6621ff9..75b50aad0a 100644 --- a/test/functional/core/job_spec.lua +++ b/test/functional/core/job_spec.lua @@ -508,7 +508,9 @@ describe('jobs', function() it('jobclose() sends SIGHUP', function() nvim('command', 'call jobclose(j)') - eq({'notification', 'exit', {0, 42}}, next_msg()) + local msg = next_msg() + msg = (msg[2] == 'stdout') and next_msg() or msg -- Skip stdout, if any. + eq({'notification', 'exit', {0, 42}}, msg) end) end) end) -- cgit