neovim/test/functional
Justin M. Keyes 58318af718 jobwait(): fix race if job exits before waiting on it
Problem:  If a job exits while waiting on another job, the on_exit
          handler is queued but f_jobwait() skips it.
Solution: Always do process_wait(), so that handlers are run during
          f_jobwait().

fix #8302

Test case:
    $ BUSTED_ARGS="--repeat=2000 --no-keep-going" TEST_FILE=test/functional/core/job_spec.lua TEST_FILTER=waiting make functionaltest

Failure example (macOS CI):
    FAILED  test/functional/core/job_spec.lua: jobs jobwait will run callbacks while waiting
    test/functional/core/job_spec.lua:606: Expected objects to be the same.
    Passed in:
    (table: 0x1be77c80) {
      [1] = 'notification'
      [2] = 'wait'
     *[3] = {
       *[1] = 3 } }
    Expected:
    (table: 0x1be77d10) {
      [1] = 'notification'
      [2] = 'wait'
     *[3] = {
       *[1] = 4 } }
    stack traceback:
      test/functional/core/job_spec.lua:606: in function <test/functional/core/job_spec.lua:583
2019-09-03 16:14:29 +02:00
..
api tests: assert:set_parameter('TableFormatLevel', 100) #10925 2019-09-03 04:29:49 -07:00
autocmd tests: use runtime from build for doc/tags with :help (#10479) 2019-08-28 22:47:54 +02:00
cmdline cmdline: CTRL-R: Omit trailing <CR>. 2017-02-18 23:24:35 +01:00
core jobwait(): fix race if job exits before waiting on it 2019-09-03 16:14:29 +02:00
eval test: "can have two timers": retry() 2019-09-01 22:49:33 -07:00
ex_cmds tests: use runtime from build for doc/tags with :help (#10479) 2019-08-28 22:47:54 +02:00
fixtures test: shell-test.c: flush all streams 2019-09-01 22:49:33 -07:00
insert normal: Don't exit CTRL-O mode after processing K_EVENT 2019-06-04 13:59:43 +02:00
legacy vim-patch:8.1.0888: the a: dict is not immutable as documented (#10819) 2019-08-21 20:17:09 +02:00
lua api: make try_end clean-up after an exception properly. Fixes #10809 2019-09-02 23:01:16 +02:00
normal Merge #10596 'vim-patch:8.1.{899,903,905,907,908,910,913,1746}' 2019-07-25 12:00:08 +02:00
options findoption_len: treat viminfo/viminfofile as aliases 2019-08-26 09:39:00 +02:00
plugin tests: assert:set_parameter('TableFormatLevel', 100) #10925 2019-09-03 04:29:49 -07:00
provider tests: use runtime from build for doc/tags with :help (#10479) 2019-08-28 22:47:54 +02:00
shada test: Minimize shada/helpers.lua #10728 2019-08-09 10:23:57 +02:00
terminal test/uname(): always lowercase 2019-09-01 22:49:33 -07:00
ui test/wildmode_spec: fix flaky test 2019-09-03 16:14:29 +02:00
viml tests: adjust to latest Vim patches 2019-05-05 14:05:25 +02:00
example_spec.lua vim-patch:8.1.{0849,1001}: 'cursorline' highlight #9757 2019-03-19 12:24:41 +01:00
helpers.lua test/uname(): always lowercase 2019-09-01 22:49:33 -07:00
preload.lua functests: Check logs in lua code 2016-06-10 21:50:49 +03:00