Daniel Hahler
41bb68b8e8
process_stop: uv: do not close stdin first/explicitly #10584
...
- process_stop: do not close stdin explicitly. The "close stdin" step was from
aa9cb48
, before we fixed/reworked the SIGTERM timing logic. So it's probably
outdated / no longer needed.
- win: jobstop: exit_code 15
GetExitCodeProcess appears to return the used signal.
https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getexitcodeprocess
ref #10573
2019-08-01 13:55:06 +02:00
Daniel Hahler
6e01ed6a4c
vim-patch:8.1.0572: stopping a job does not work properly on OpenBSD
...
Problem: Stopping a job does not work properly on OpenBSD.
Solution: Do not use getpgid() to check the process group of the job
processs ID, always pass the negative process ID to kill().
(George Koehler, closes vim/vim#3656 )
76ab4fd619
Ref: https://github.com/neovim/neovim/issues/9704
Ref: https://github.com/neovim/neovim/issues/10182#issuecomment-514450069
Closes https://github.com/neovim/neovim/pull/10660
2019-07-30 18:41:38 +02:00
Daniel Hahler
2906c702f9
tests: use "cat" also on Windows
...
Fixes https://github.com/neovim/neovim/issues/10574 .
Keeps 'can be called recursively' pending for now, see
https://github.com/neovim/neovim/pull/10580#issuecomment-515295571 .
2019-07-26 21:45:00 +02:00
Björn Linse
d4938743e6
channel: refactor events, prevent recursive invocation of events
2019-06-18 10:49:38 +02:00
Tommy Allen
c4c74c3883
jobstart(): Fix hang on non-executable cwd #9204
...
* os/fs.c: add os_isdir_executable()
* eval.c: fix hang on job start caused by non-executable cwd option
* channel.c: assert cwd is an executable directory
* test: jobstart() produces error when using non-executable cwd
2018-11-07 10:31:25 +01:00
Justin M. Keyes
f5671c8614
win: test: SIGWINCH is noisy #7506
2018-11-01 17:17:07 +01:00
Justin M. Keyes
51d42917f0
test/win: job_spec: increase jobwait() timeout
...
powershell is slow, and this timeout is "worst case" so it doesn't make
the tests more costly, only avoids a false-positive.
close #8958
2018-09-05 22:05:05 +02:00
Björn Linse
3d88287e30
tests: introduce screen:expect{...} form
2018-08-27 15:15:49 +02:00
Björn Linse
a676c658cc
channel: avoid references to non-rooted vimL list with output
...
likely fixes #7768 #7913
If multiple internal stream callbacks were recieved before vimL
callbacks got called, only invoke one vimL callback with all data.
2018-05-17 19:09:32 +02:00
Justin M. Keyes
7598e6cf17
Merge #8120 'test: win: prefer cmd.exe'
2018-04-15 18:16:37 +02:00
Björn Linse
aea079a25d
channels: delay free so that libuv can cleanup handles
...
add test for a crash this caused
2018-04-12 18:22:47 +02:00
Jan Edmund Lazo
51f5cfc16e
test: win: enable jobpid() tests
...
Use ping to test job detach
Use find.exe as an alternative to cat.exe
Use nvim_get_proc to check pid
2018-03-26 01:45:42 -04:00
Jan Edmund Lazo
ad6d577314
fixup: ping.exe works with cmd.exe pipe
2018-03-26 01:45:41 -04:00
Jan Edmund Lazo
e6ee06ee11
Revert "test/win: use cmd.exe for test"
...
This reverts commit ae409b5042
.
This PR (#8120 ) defaults to cmd.exe for job_spec.lua
2018-03-26 01:45:41 -04:00
Jan Edmund Lazo
03e69a5d9c
test: win: use find.exe /v "" as alternative cat -
2018-03-26 01:45:40 -04:00
Jan Edmund Lazo
3bd555f1e6
test: win: try stderr callback and slow output
2018-03-26 01:45:38 -04:00
Jan Edmund Lazo
cf4fbb6f04
test: win: use powershell for Start-Sleep only
...
cmd.exe (shell) is faster and more reliable than powershell (.NET frontend).
It's best for short and basic tests that don't require non-trivial scripting.
cmd.exe doesn't support sleep so use powershell's Start-Sleep as substitute.
2018-03-26 01:45:37 -04:00
Justin M. Keyes
ae409b5042
test/win: use cmd.exe for test
...
Can revert this after #8120 .
2018-03-18 17:15:06 +01:00
Justin M. Keyes
167898a517
test: jobstop() kills entire process tree
...
Test correctly fails before 8d90171f8b
.
ref #6530
2018-03-18 17:03:05 +01:00
Justin M. Keyes
fd4021387e
test: rename next_message() to next_msg()
2018-03-11 12:43:42 +01:00
Justin M. Keyes
2bf0869160
test: handle non-deterministic message cadence
2018-03-11 12:43:42 +01:00
Björn Linse
c57d315963
Merge pull request #8031 from bfredl/gotintstatus
...
jobwait: return -2 on interrupt even with timeout
2018-02-20 15:15:06 +01:00
Björn Linse
04fdbfe17d
jobwait: return -2 on interrupt also with timeout
2018-02-20 12:32:23 +01:00
Jan Edmund Lazo
7fa69fb288
Resolve issues mentioned in PR review
2018-02-19 07:10:47 -05:00
Jan Edmund Lazo
3e19e18f4c
win: enable job tests that use jobstart only
...
- echo "" does not hang in powershell
- cmd.exe's echo command does not hang.
- job tests default to powershell (WHY?)
- wait 5 seconds for powershell to create an empty file
- powershell is slow
- cannot reliably validate the id returned by jobstart via jobpid, jobstop
- if using cmd.exe, waiting for a second should be enough
- remaining job tests are unreliable in Windows because any build can pass/fail
for same conditions without changes, especially if the error is in stderr
2018-02-19 07:10:41 -05:00
Justin M. Keyes
e72ecdb7ca
test/util: expect_msg_seq()
...
job_spec.lua on AppVeyor (Windows) often fails like this:
FAILED ] C:/projects/neovim/test/functional\core\job_spec.lua @ 72: jobs changes to given `cwd` directory
C:/projects/neovim/test/functional\core\job_spec.lua:81: Expected objects to be the same.
Passed in:
(table) {
[1] = 'notification'
[2] = 'stdout'
*[3] = {
[1] = 0
*[2] = {
[1] = 'C:\projects\neovim\Xtest-tmpdir\nvimmSjq1S\0' } } }
Expected:
(table) {
[1] = 'notification'
[2] = 'stdout'
*[3] = {
[1] = 0
*[2] = {
[1] = 'C:\projects\neovim\Xtest-tmpdir\nvimmSjq1S\0'
*[2] = '' } } }
stack traceback:
Message chunking is non-deterministic, so we need to try different
variants.
2018-02-18 19:19:03 +01:00
George Zhao
499c9a1553
test/win: fix some environment assumptions #7912
...
fix #7909
fix #7910
2018-01-28 19:10:18 +01:00
Björn Linse
91b856ccce
channels: tests
2017-11-26 09:17:04 +01:00
Drew Neil
ac52947838
Repair job_spec functional tests
2017-08-21 20:44:03 +01:00
Justin M. Keyes
92101947fe
test: job_spec.lua: disable shada in test instance
2017-08-04 22:25:39 +02:00
ZyX
65fb622000
functests: Replace execute with either command or feed_command
...
Hope this will make people using feed_command less likely: this hides bugs.
Already found at least two:
1. msgpackparse() will show internal error: hash_add() in case of duplicate
keys, though it will still work correctly. Currently silenced.
2. ttimeoutlen was spelled incorrectly, resulting in option not being set when
expected. Test was still functioning somehow though. Currently fixed.
2017-04-09 03:24:08 +03:00
Justin M. Keyes
1ea9ebf112
test: Use workspace-local temp directory.
...
Closes #6291
2017-03-30 02:55:00 +02:00
Matthew Malcomson
f6946c68ae
job-control: set CLOEXEC on pty processes. #5986
...
Before this change, new processes started with libuv prevented SIGHUP
from reaching pty processes (by keeping the ptmx file descriptor open).
2017-03-17 12:20:51 +01:00
James McCoy
d4dd447ded
win: test: Fix closure jobs test on Windows
2017-02-23 01:24:55 -05:00
Michael Ennen
ef8701610b
Allow lambdas to be used with jobs, timers and dictwatchers.
2017-02-14 17:38:19 -07:00
Justin M. Keyes
bd16e116eb
win: test: Enable jobstart() 'shell' test. ( #5983 )
2017-01-21 17:04:39 +01:00
Justin M. Keyes
7637df4b59
win: test: XXX: Disable some tests.
2017-01-19 09:55:57 +01:00
Justin M. Keyes
32c7971b2a
win: fix warnings
2017-01-19 09:55:57 +01:00
Justin M. Keyes
e40946a5be
win: test: enable job_spec.lua
...
- Default to powershell.
- Avoid hardcoded "-c".
- Remove ^M character from received lines.
- pending_win32(): clear() is unnecessary and it pollutes the tests.
Closes #3973
Helped-by: Rui Abreu Ferreira <raf-ep@gmx.com >
2017-01-19 09:55:57 +01:00
James McCoy
bde9bedb0b
job: Consume content from rbuffer before invoking the callback again
...
While a job callback is active, it may be invoked again. Since the
data handled by the first invocation of the callback hasn't been marked
as consumed, the subsequent invocation will see the same data.
Reported-by: Daniel Hahler
Patch-by: oni-link
Closes #5889
2017-01-14 07:49:07 -05:00
Justin M. Keyes
c6a50ca82c
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)
2016-12-31 08:59:44 -05:00
Justin M. Keyes
0b244de384
test: job_spec: Avoid unreliable screen test.
2016-12-23 18:28:54 +01:00
Justin M. Keyes
43ba7f4d98
eval.c: set_selfdict(): Fix invalid memory access.
2016-12-14 20:52:18 +01:00
Marco Hinz
5855f30cb1
Make VimL code compatible with merged Partial support ( #5765 )
...
Closes #5763 .
2016-12-13 14:48:42 +01:00
Björn Linse
0f681c80e1
Make partials work with jobs, timers, and dictwatchers.
2016-12-12 10:17:35 -05:00
Justin M. Keyes
d32888073f
test: jobstart()
2016-12-11 01:14:22 +01:00
Aaron Williamson
c8d5e9230e
jobstart(): Return -1 if cmd is not executable. #5671
...
Closes #5465
2016-12-10 16:01:27 +01:00
Justin M. Keyes
933c873cae
test: Handle SIGHUP in tty-test fixture.
...
Closes #5727
2016-12-07 17:22:37 +01:00
Björn Linse
1d4563771b
jobs: ensure calling jobclose() on a pty job sends SIGHUP. Closes #5619
2016-11-17 15:13:45 +01:00
Justin M. Keyes
6636e2a259
test: :terminal should not interrupt Press-ENTER
...
References #2748
2016-10-20 23:41:59 +02:00