diff options
Diffstat (limited to 'test/functional/eval/system_spec.lua')
| -rw-r--r-- | test/functional/eval/system_spec.lua | 37 | 
1 files changed, 9 insertions, 28 deletions
diff --git a/test/functional/eval/system_spec.lua b/test/functional/eval/system_spec.lua index 13134bc6e7..0a478fd05c 100644 --- a/test/functional/eval/system_spec.lua +++ b/test/functional/eval/system_spec.lua @@ -7,6 +7,7 @@ local eq, call, clear, eval, feed_command, feed, nvim =  local command = helpers.command  local exc_exec = helpers.exc_exec  local iswin = helpers.iswin +local os_kill = helpers.os_kill  local Screen = require('test.functional.ui.screen') @@ -23,14 +24,6 @@ local function delete_file(name)    end  end --- Some tests require the xclip program and a x server. -local xclip = nil -do -  if os.getenv('DISPLAY') then -    xclip = (os.execute('command -v xclip > /dev/null 2>&1') == 0) -  end -end -  describe('system()', function()    before_each(clear) @@ -378,15 +371,10 @@ describe('system()', function()      end)    end) -  describe("with a program that doesn't close stdout", function() -    if not xclip then -      pending('missing `xclip`', function() end) -    else -      it('will exit properly after passing input', function() -        eq('', eval([[system('xclip -i -loops 1 -selection clipboard', 'clip-data')]])) -        eq('clip-data', eval([[system('xclip -o -selection clipboard')]])) -      end) -    end +  it("with a program that doesn't close stdout will exit properly after passing input", function() +    local out = eval(string.format("system('%s', 'clip-data')", nvim_dir..'/streams-test')) +    assert(out:sub(0, 5) == 'pid: ', out) +    os_kill(out:match("%d+"))    end)  end) @@ -562,16 +550,9 @@ describe('systemlist()', function()      end)    end) -  describe("with a program that doesn't close stdout", function() -    if not xclip then -      pending('missing `xclip`', function() end) -    else -      it('will exit properly after passing input', function() -        eq({}, eval( -          "systemlist('xclip -i -loops 1 -selection clipboard', ['clip', 'data'])")) -        eq({'clip', 'data'}, eval( -          "systemlist('xclip -o -selection clipboard')")) -      end) -    end +  it("with a program that doesn't close stdout will exit properly after passing input", function() +    local out = eval(string.format("systemlist('%s', 'clip-data')", nvim_dir..'/streams-test')) +    assert(out[1]:sub(0, 5) == 'pid: ', out) +    os_kill(out[1]:match("%d+"))    end)  end)  | 
