aboutsummaryrefslogtreecommitdiff
path: root/test/functional/core
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-04-13 00:35:50 +0200
committerGitHub <noreply@github.com>2018-04-13 00:35:50 +0200
commit5e18550ddde07ce90111f7bda17d86608fbb8619 (patch)
tree2e569135edc74353b1029218435aaf53b788f4ab /test/functional/core
parent2cbeb7ca56503ebc203a7fae469d3ede9a5d80da (diff)
parent0865adbbc282d034849b28d70667e4415d8df829 (diff)
downloadrneovim-5e18550ddde07ce90111f7bda17d86608fbb8619.tar.gz
rneovim-5e18550ddde07ce90111f7bda17d86608fbb8619.tar.bz2
rneovim-5e18550ddde07ce90111f7bda17d86608fbb8619.zip
Merge #7813 'channels: delay free'
fix #7699
Diffstat (limited to 'test/functional/core')
-rw-r--r--test/functional/core/job_spec.lua15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/functional/core/job_spec.lua b/test/functional/core/job_spec.lua
index 6d4cadbdc8..24bff423df 100644
--- a/test/functional/core/job_spec.lua
+++ b/test/functional/core/job_spec.lua
@@ -640,6 +640,21 @@ describe('jobs', function()
ok(string.find(err, "E475: Invalid argument: job cannot have both 'pty' and 'rpc' options set") ~= nil)
end)
+ it('does not crash when repeatedly failing to start shell', function()
+ source([[
+ set shell=nosuchshell
+ func! DoIt()
+ call jobstart('true')
+ call jobstart('true')
+ endfunc
+ ]])
+ -- The crash only triggered if both jobs are cleaned up on the same event
+ -- loop tick. This is also prevented by try-block, so feed must be used.
+ feed_command("call DoIt()")
+ feed('<cr>') -- press RETURN
+ eq(2,eval('1+1'))
+ end)
+
it('jobstop() kills entire process tree #6530', function()
command('set shell& shellcmdflag& shellquote& shellpipe& shellredir& shellxquote&')