mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 19:38:20 +00:00
test: simplify platform detection (#21020)
Extend the capabilities of is_os to detect more platforms such as freebsd and openbsd. Also remove `iswin()` helper function as it can be replaced by `is_os("win")`.
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
local helpers = require('test.functional.helpers')(after_each)
|
||||
local eq, clear, call, iswin, write_file, command =
|
||||
helpers.eq, helpers.clear, helpers.call, helpers.iswin, helpers.write_file,
|
||||
local eq, clear, call, write_file, command =
|
||||
helpers.eq, helpers.clear, helpers.call, helpers.write_file,
|
||||
helpers.command
|
||||
local exc_exec = helpers.exc_exec
|
||||
local eval = helpers.eval
|
||||
local is_os = helpers.is_os
|
||||
|
||||
describe('executable()', function()
|
||||
before_each(clear)
|
||||
|
||||
it('returns 1 for commands in $PATH', function()
|
||||
local exe = iswin() and 'ping' or 'ls'
|
||||
local exe = is_os('win') and 'ping' or 'ls'
|
||||
eq(1, call('executable', exe))
|
||||
command('let $PATH = fnamemodify("./test/functional/fixtures/bin", ":p")')
|
||||
eq(1, call('executable', 'null'))
|
||||
@@ -17,7 +18,7 @@ describe('executable()', function()
|
||||
eq(1, call('executable', 'false'))
|
||||
end)
|
||||
|
||||
if iswin() then
|
||||
if is_os('win') then
|
||||
it('exepath respects shellslash', function()
|
||||
command('let $PATH = fnamemodify("./test/functional/fixtures/bin", ":p")')
|
||||
eq([[test\functional\fixtures\bin\null.CMD]], call('fnamemodify', call('exepath', 'null'), ':.'))
|
||||
@@ -56,8 +57,8 @@ describe('executable()', 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
|
||||
local expected = is_os('win') and 1 or 0
|
||||
if is_os('win') then
|
||||
eq('arg1=lemon;arg2=sky;arg3=tree;',
|
||||
call('system', sibling_exe..' lemon sky tree'))
|
||||
end
|
||||
@@ -69,7 +70,7 @@ describe('executable()', 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.
|
||||
if not is_os('win') then -- N/A for Windows.
|
||||
call('system', {'chmod', '-x', 'Xtest_not_executable'})
|
||||
call('system', {'chmod', '+x', 'Xtest_executable'})
|
||||
end
|
||||
@@ -90,14 +91,17 @@ describe('executable()', function()
|
||||
end)
|
||||
|
||||
it('set, qualified as a path', function()
|
||||
local expected = iswin() and 0 or 1
|
||||
local expected = is_os('win') and 0 or 1
|
||||
eq(expected, call('executable', './Xtest_executable'))
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('executable() (Windows)', function()
|
||||
if not iswin() then return end -- N/A for Unix.
|
||||
if not is_os('win') then
|
||||
pending('N/A for non-windows')
|
||||
return
|
||||
end
|
||||
|
||||
local exts = {'bat', 'exe', 'com', 'cmd'}
|
||||
setup(function()
|
||||
|
Reference in New Issue
Block a user