mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge #8436 win: test: cleanup on exit'
This commit is contained in:
commit
438f2b6474
@ -9,6 +9,7 @@ local command = helpers.command
|
||||
local feed_command = helpers.feed_command
|
||||
local funcs = helpers.funcs
|
||||
local meths = helpers.meths
|
||||
local iswin = helpers.iswin
|
||||
|
||||
local fname = 'Xtest-functional-ex_cmds-write'
|
||||
local fname_bak = fname .. '~'
|
||||
@ -34,11 +35,14 @@ describe(':write', function()
|
||||
it('&backupcopy=auto preserves symlinks', function()
|
||||
command('set backupcopy=auto')
|
||||
write_file('test_bkc_file.txt', 'content0')
|
||||
if helpers.iswin() then
|
||||
if iswin() then
|
||||
command("silent !mklink test_bkc_link.txt test_bkc_file.txt")
|
||||
else
|
||||
command("silent !ln -s test_bkc_file.txt test_bkc_link.txt")
|
||||
end
|
||||
if eval('v:shell_error') ~= 0 then
|
||||
pending('Cannot create symlink', function()end)
|
||||
end
|
||||
source([[
|
||||
edit test_bkc_link.txt
|
||||
call setline(1, ['content1'])
|
||||
@ -51,11 +55,14 @@ describe(':write', function()
|
||||
it('&backupcopy=no replaces symlink with new file', function()
|
||||
command('set backupcopy=no')
|
||||
write_file('test_bkc_file.txt', 'content0')
|
||||
if helpers.iswin() then
|
||||
if iswin() then
|
||||
command("silent !mklink test_bkc_link.txt test_bkc_file.txt")
|
||||
else
|
||||
command("silent !ln -s test_bkc_file.txt test_bkc_link.txt")
|
||||
end
|
||||
if eval('v:shell_error') ~= 0 then
|
||||
pending('Cannot create symlink', function()end)
|
||||
end
|
||||
source([[
|
||||
edit test_bkc_link.txt
|
||||
call setline(1, ['content1'])
|
||||
@ -66,7 +73,8 @@ describe(':write', function()
|
||||
end)
|
||||
|
||||
it("appends FIFO file", function()
|
||||
if eval("executable('mkfifo')") == 0 then
|
||||
-- mkfifo creates read-only .lnk files on Windows
|
||||
if iswin() or eval("executable('mkfifo')") == 0 then
|
||||
pending('missing "mkfifo" command', function()end)
|
||||
return
|
||||
end
|
||||
@ -88,7 +96,7 @@ describe(':write', function()
|
||||
command('let $HOME=""')
|
||||
eq(funcs.fnamemodify('.', ':p:h'), funcs.fnamemodify('.', ':p:h:~'))
|
||||
-- Message from check_overwrite
|
||||
if not helpers.iswin() then
|
||||
if not iswin() then
|
||||
eq(('\nE17: "'..funcs.fnamemodify('.', ':p:h')..'" is a directory'),
|
||||
redir_exec('write .'))
|
||||
end
|
||||
@ -108,7 +116,7 @@ describe(':write', function()
|
||||
funcs.setfperm(fname, 'r--------')
|
||||
eq('Vim(write):E505: "Xtest-functional-ex_cmds-write" is read-only (add ! to override)',
|
||||
exc_exec('write'))
|
||||
if helpers.iswin() then
|
||||
if iswin() then
|
||||
eq(0, os.execute('del /q/f ' .. fname))
|
||||
eq(0, os.execute('rd /q/s ' .. fname_bak))
|
||||
else
|
||||
@ -117,7 +125,7 @@ describe(':write', function()
|
||||
end
|
||||
write_file(fname_bak, 'TTYX')
|
||||
-- FIXME: exc_exec('write!') outputs 0 in Windows
|
||||
if helpers.iswin() then return end
|
||||
if iswin() then return end
|
||||
lfs.link(fname_bak .. ('/xxxxx'):rep(20), fname, true)
|
||||
eq('Vim(write):E166: Can\'t open linked file for writing',
|
||||
exc_exec('write!'))
|
||||
|
@ -3,21 +3,21 @@ local lfs = require('lfs')
|
||||
local command, eq, neq, spawn, nvim_prog, set_session, write_file =
|
||||
helpers.command, helpers.eq, helpers.neq, helpers.spawn,
|
||||
helpers.nvim_prog, helpers.set_session, helpers.write_file
|
||||
local iswin = helpers.iswin
|
||||
local read_file = helpers.read_file
|
||||
|
||||
describe(':wshada', function()
|
||||
local shada_file = 'wshada_test'
|
||||
local session
|
||||
|
||||
before_each(function()
|
||||
if session then
|
||||
session:close()
|
||||
end
|
||||
|
||||
-- Override the default session because we need 'swapfile' for these tests.
|
||||
session = spawn({nvim_prog, '-u', 'NONE', '-i', '/dev/null', '--embed',
|
||||
session = spawn({nvim_prog, '-u', 'NONE', '-i', iswin() and 'nul' or '/dev/null', '--embed',
|
||||
'--cmd', 'set swapfile'})
|
||||
set_session(session)
|
||||
|
||||
end)
|
||||
after_each(function ()
|
||||
session:close()
|
||||
os.remove(shada_file)
|
||||
end)
|
||||
|
||||
@ -36,7 +36,7 @@ describe(':wshada', function()
|
||||
write_file(shada_file, text)
|
||||
|
||||
-- sanity check
|
||||
eq(text, io.open(shada_file):read())
|
||||
eq(text, read_file(shada_file))
|
||||
neq(nil, lfs.attributes(shada_file))
|
||||
|
||||
command('wsh! '..shada_file)
|
||||
@ -49,8 +49,4 @@ describe(':wshada', function()
|
||||
assert(char1:byte() == 0x01,
|
||||
shada_file..' should be a shada file')
|
||||
end)
|
||||
|
||||
teardown(function()
|
||||
os.remove(shada_file)
|
||||
end)
|
||||
end)
|
||||
|
@ -17,9 +17,10 @@ local lfs = require('lfs')
|
||||
local clear, feed_command, expect, eq, neq, dedent, write_file, feed =
|
||||
helpers.clear, helpers.feed_command, helpers.expect, helpers.eq, helpers.neq,
|
||||
helpers.dedent, helpers.write_file, helpers.feed
|
||||
local iswin = helpers.iswin
|
||||
|
||||
local function has_gzip()
|
||||
local null = helpers.iswin() and 'nul' or '/dev/null'
|
||||
local null = iswin() and 'nul' or '/dev/null'
|
||||
return os.execute('gzip --help >' .. null .. ' 2>&1') == 0
|
||||
end
|
||||
|
||||
@ -59,7 +60,7 @@ describe('file reading, writing and bufnew and filter autocommands', function()
|
||||
os.remove('test.out')
|
||||
end)
|
||||
|
||||
if not has_gzip() then
|
||||
if iswin() or not has_gzip() then
|
||||
pending('skipped (missing `gzip` utility)', function() end)
|
||||
else
|
||||
|
||||
|
@ -74,7 +74,7 @@ describe('glob() and globpath()', function()
|
||||
teardown(function()
|
||||
if helpers.iswin() then
|
||||
os.execute('del /q/f Xxx{ Xxx$')
|
||||
os.execute('rd /q sautest')
|
||||
os.execute('rd /q /s sautest')
|
||||
else
|
||||
os.execute("rm -rf sautest Xxx{ Xxx$")
|
||||
end
|
||||
|
@ -4,6 +4,9 @@ local eq, eval, command = helpers.eq, helpers.eval, helpers.command
|
||||
|
||||
describe('Test for delete()', function()
|
||||
before_each(clear)
|
||||
after_each(function()
|
||||
os.remove('Xfile')
|
||||
end)
|
||||
|
||||
it('file delete', function()
|
||||
command('split Xfile')
|
||||
@ -52,6 +55,9 @@ describe('Test for delete()', function()
|
||||
silent !ln -s Xfile Xlink
|
||||
endif
|
||||
]])
|
||||
if eval('v:shell_error') ~= 0 then
|
||||
pending('Cannot create symlink', function()end)
|
||||
end
|
||||
-- Delete the link, not the file
|
||||
eq(0, eval("delete('Xlink')"))
|
||||
eq(-1, eval("delete('Xlink')"))
|
||||
|
Loading…
Reference in New Issue
Block a user