diff options
Diffstat (limited to 'test/functional/eval/executable_spec.lua')
| -rw-r--r-- | test/functional/eval/executable_spec.lua | 25 | 
1 files changed, 22 insertions, 3 deletions
diff --git a/test/functional/eval/executable_spec.lua b/test/functional/eval/executable_spec.lua index dd8861a07c..bcf5eba4eb 100644 --- a/test/functional/eval/executable_spec.lua +++ b/test/functional/eval/executable_spec.lua @@ -1,7 +1,6 @@  local helpers = require('test.functional.helpers')(after_each) -local eq, clear, execute, call, iswin, write_file = -  helpers.eq, helpers.clear, helpers.execute, helpers.call, helpers.iswin, -  helpers.write_file +local eq, clear, call, iswin, write_file = +  helpers.eq, helpers.clear, helpers.call, helpers.iswin, helpers.write_file  describe('executable()', function()    before_each(clear) @@ -15,8 +14,28 @@ describe('executable()', function()      eq(0, call('executable', 'no_such_file_exists_209ufq23f'))    end) +  it('sibling to nvim binary', function() +    -- Some executable in build/bin/, *not* in $PATH nor CWD. +    local sibling_exe = 'printargs-test' +    -- Windows: siblings are in Nvim's "pseudo-$PATH". +    local expected = iswin() and 1 or 0 +    if iswin() then +      print('XXXXXXXXXXXXXXXXXXXXXXXXX') +      print(helpers.eval('$PATH')) +      print('XXXXXXXXXXXXXXXXXXXXXXXXX') +      -- $PATH on AppVeyor CI might be oversized, redefine it to a minimal one. +      clear({env={PATH=[[C:\Windows\system32;C:\Windows]]}}) +      print(helpers.eval('$PATH')) +      print('XXXXXXXXXXXXXXXXXXXXXXXXX') +      eq('arg1=lemon;arg2=sky;arg3=tree;', +         call('system', sibling_exe..' lemon sky tree')) +    end +    eq(expected, call('executable', sibling_exe)) +  end) +    describe('exec-bit', function()      setup(function() +      clear()        write_file('Xtest_not_executable', 'non-executable file')        write_file('Xtest_executable', 'executable file (exec-bit set)')        if not iswin() then  -- N/A for Windows.  | 
