Merge pull request #5225 from equalsraf/windows-functionaltests

Enable functional tests in Appveyor
This commit is contained in:
Björn Linse 2016-08-31 21:39:42 +02:00 committed by GitHub
commit 0ade1bb706
67 changed files with 197 additions and 37 deletions

View File

@ -28,13 +28,14 @@ cd ..
:: Build Neovim
mkdir build
cd build
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release .. || goto :error
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUSTED_OUTPUT_TYPE=gtest .. || goto :error
mingw32-make VERBOSE=1 || goto :error
bin\nvim --version || goto :error
cd ..
:: Functional tests
mingw32-make functionaltest VERBOSE=1 || goto :error
:: Build artifacts
cd build
cpack -G ZIP -C Release
if defined APPVEYOR_REPO_TAG_NAME cpack -G NSIS -C Release

View File

@ -395,7 +395,7 @@ endif()
message(STATUS "Using the Lua interpreter ${LUA_PRG}.")
# Setup busted.
find_program(BUSTED_PRG busted)
find_program(BUSTED_PRG NAMES busted busted.bat)
find_program(BUSTED_LUA_PRG busted-lua)
if(NOT BUSTED_OUTPUT_TYPE)
if(WIN32)
@ -498,6 +498,7 @@ if(BUSTED_PRG)
-DTEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
-DBUILD_DIR=${CMAKE_BINARY_DIR}
-DTEST_TYPE=unit
-DSYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
DEPENDS ${UNITTEST_PREREQS}
${TEST_TARGET_ARGS})
@ -516,6 +517,7 @@ if(BUSTED_PRG)
-DTEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
-DBUILD_DIR=${CMAKE_BINARY_DIR}
-DTEST_TYPE=functional
-DSYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
DEPENDS ${FUNCTIONALTEST_PREREQS}
${TEST_TARGET_ARGS})
@ -530,6 +532,7 @@ if(BUSTED_PRG)
-DTEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
-DBUILD_DIR=${CMAKE_BINARY_DIR}
-DTEST_TYPE=benchmark
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
DEPENDS ${BENCHMARK_PREREQS}
${TEST_TARGET_ARGS})
@ -546,6 +549,7 @@ if(BUSTED_LUA_PRG)
-DTEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
-DBUILD_DIR=${CMAKE_BINARY_DIR}
-DTEST_TYPE=functional
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
DEPENDS ${FUNCTIONALTEST_PREREQS}
${TEST_TARGET_ARGS})
@ -556,6 +560,7 @@ if(LUACHECK_PRG)
COMMAND ${CMAKE_COMMAND}
-DLUACHECK_PRG=${LUACHECK_PRG}
-DTEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-P ${PROJECT_SOURCE_DIR}/cmake/RunTestsLint.cmake)
endif()

View File

@ -28,6 +28,7 @@ if(DEFINED ENV{TEST_FILTER})
set(TEST_TAG "--filter=$ENV{TEST_FILTER}")
endif()
set(ENV{SYSTEM_NAME} ${SYSTEM_NAME})
execute_process(
COMMAND ${BUSTED_PRG} ${TEST_TAG} ${TEST_FILTER} -v -o ${BUSTED_OUTPUT_TYPE}
--lua=${LUA_PRG} --lazy --helper=${TEST_DIR}/${TEST_TYPE}/preload.lua

View File

@ -8,6 +8,7 @@ local nvim_prog, command, funcs = helpers.nvim_prog, helpers.command, helpers.fu
local source, next_message = helpers.source, helpers.next_message
local meths = helpers.meths
if helpers.pending_win32(pending) then return end
describe('server -> client', function()
local cid

View File

@ -13,7 +13,7 @@ describe('vim_* functions', function()
describe('command', function()
it('works', function()
local fname = os.tmpname()
local fname = helpers.tmpname()
nvim('command', 'new')
nvim('command', 'edit '..fname)
nvim('command', 'normal itesting\napi')

View File

@ -5,6 +5,8 @@ local command = helpers.command
local eq = helpers.eq
local eval = helpers.eval
if helpers.pending_win32(pending) then return end
describe('autocmd TabNew', function()
before_each(clear)

View File

@ -1,6 +1,8 @@
local helpers = require('test.functional.helpers')(after_each)
local clear, nvim, eq = helpers.clear, helpers.nvim, helpers.eq
if helpers.pending_win32(pending) then return end
describe('TabNewEntered', function()
describe('au TabNewEntered', function()
describe('with * as <afile>', function()

View File

@ -5,6 +5,8 @@ local clear, execute, feed, nvim, nvim_dir = helpers.clear,
helpers.execute, helpers.feed, helpers.nvim, helpers.nvim_dir
local eval, eq = helpers.eval, helpers.eq
if helpers.pending_win32(pending) then return end
describe('TermClose event', function()
local screen
before_each(function()

View File

@ -5,6 +5,8 @@ local Screen = require('test.functional.ui.screen')
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local execute, expect, eq, eval = helpers.execute, helpers.expect, helpers.eq, helpers.eval
if helpers.pending_win32(pending) then return end
local function basic_register_test(noblock)
insert("some words")

View File

@ -8,6 +8,7 @@ local clear, eq, eval, execute, feed, insert, neq, next_msg, nvim,
local command = helpers.command
local Screen = require('test.functional.ui.screen')
if helpers.pending_win32(pending) then return end
describe('jobs', function()
local channel
@ -90,7 +91,7 @@ describe('jobs', function()
it('preserves NULs', function()
-- Make a file with NULs in it.
local filename = os.tmpname()
local filename = helpers.tmpname()
write_file(filename, "abc\0def\n")
nvim('command', "let j = jobstart(['cat', '"..filename.."'], g:job_opts)")

View File

@ -4,6 +4,8 @@ local nvim, eq, neq, eval = helpers.nvim, helpers.eq, helpers.neq, helpers.eval
local clear, funcs, meths = helpers.clear, helpers.funcs, helpers.meths
local os_name = helpers.os_name
if helpers.pending_win32(pending) then return end
describe('serverstart(), serverstop()', function()
before_each(clear)

View File

@ -9,6 +9,8 @@ local clear = helpers.clear
local execute = helpers.execute
local exc_exec = helpers.exc_exec
if helpers.pending_win32(pending) then return end
-- These directories will be created for testing
local directories = {
tab = 'Xtest-functional-ex_cmds-cd_spec.tab', -- Tab

View File

@ -5,9 +5,9 @@ local helpers = require('test.functional.helpers')(after_each)
local eval = helpers.eval
local command = helpers.command
local eq, neq = helpers.eq, helpers.neq
local tempfile = os.tmpname()
local tempfile = helpers.tmpname()
-- os.tmpname() also creates the file on POSIX systems. Remove it again.
-- tmpname() also creates the file on POSIX systems. Remove it again.
-- We just need the name, ignoring any race conditions.
if lfs.attributes(tempfile, 'uid') then
os.remove(tempfile)

View File

@ -6,6 +6,8 @@ local execute, eq, clear, eval, feed, expect, source =
helpers.execute, helpers.eq, helpers.clear, helpers.eval, helpers.feed,
helpers.expect, helpers.source
if helpers.pending_win32(pending) then return end
describe(':recover', function()
before_each(clear)

View File

@ -5,6 +5,8 @@ local eq, eval, clear, write_file, execute, source =
helpers.eq, helpers.eval, helpers.clear, helpers.write_file,
helpers.execute, helpers.source
if helpers.pending_win32(pending) then return end
describe(':write', function()
after_each(function()
os.remove('test_bkc_file.txt')

View File

@ -291,15 +291,51 @@ local function write_file(name, text, dont_dedent)
file:close()
end
local function source(code)
local tmpname = os.tmpname()
if os_name() == 'osx' and string.match(tmpname, '^/tmp') then
tmpname = '/private'..tmpname
-- Tries to get platform name, from $SYSTEM_NAME, uname,
-- fallback is 'Windows'
local uname = (function()
local platform = nil
return (function()
if platform then
return platform
end
write_file(tmpname, code)
nvim_command('source '..tmpname)
os.remove(tmpname)
return tmpname
platform = os.getenv("SYSTEM_NAME")
if platform then
return platform
end
local status, f = pcall(io.popen, "uname -s")
if status then
platform = f:read("*l")
else
platform = 'Windows'
end
return platform
end)
end)()
local function tmpname()
local fname = os.tmpname()
if uname() == 'Windows' and fname:sub(1, 2) == '\\s' then
-- In Windows tmpname() returns a filename starting with
-- special sequence \s, prepend $TEMP path
local tmpdir = os.getenv('TEMP')
return tmpdir..fname
elseif fname:match('^/tmp') and uname() == 'Darwin' then
-- In OS X /tmp links to /private/tmp
return '/private'..fname
else
return fname
end
end
local function source(code)
local fname = tmpname()
write_file(fname, code)
nvim_command('source '..fname)
os.remove(fname)
return fname
end
local function nvim(method, ...)
@ -434,6 +470,20 @@ local function create_callindex(func)
return table
end
-- Helper to skip tests. Returns true in Windows systems.
-- pending_func is pending() from busted
local function pending_win32(pending_func)
clear()
if uname() == 'Windows' then
if pending_func ~= nil then
pending_func('FIXME: Windows', function() end)
end
return true
else
return false
end
end
local funcs = create_callindex(nvim_call)
local meths = create_callindex(nvim)
local uimeths = create_callindex(ui)
@ -499,6 +549,8 @@ return function(after_each)
curbufmeths = curbufmeths,
curwinmeths = curwinmeths,
curtabmeths = curtabmeths,
pending_win32 = pending_win32,
tmpname = tmpname,
NIL = mpack.NIL,
}
end

View File

@ -18,6 +18,8 @@ local clear, execute, expect, eq, neq, dedent, write_file, feed =
helpers.clear, helpers.execute, helpers.expect, helpers.eq, helpers.neq,
helpers.dedent, helpers.write_file, helpers.feed
if helpers.pending_win32(pending) then return end
local function has_gzip()
return os.execute('gzip --help >/dev/null 2>&1') == 0
end

View File

@ -5,6 +5,8 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local execute, expect = helpers.execute, helpers.expect
if helpers.pending_win32(pending) then return end
describe('jump to a tag with hidden set', function()
setup(clear)

View File

@ -4,6 +4,8 @@ local helpers = require('test.functional.helpers')(after_each)
local feed, clear, execute = helpers.feed, helpers.clear, helpers.execute
local eq, write_file = helpers.eq, helpers.write_file
if helpers.pending_win32(pending) then return end
describe('fileformats option', function()
setup(function()
clear()

View File

@ -3,7 +3,6 @@
local helpers = require('test.functional.helpers')(after_each)
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
local source, write_file = helpers.source, helpers.write_file
local os_name = helpers.os_name
local function sixlines(text)
local result = ''
@ -14,19 +13,16 @@ local function sixlines(text)
end
local function diff(text, nodedent)
local tmpname = os.tmpname()
if os_name() == 'osx' and string.match(tmpname, '^/tmp') then
tmpname = '/private'..tmpname
end
execute('w! '..tmpname)
local fname = helpers.tmpname()
execute('w! '..fname)
helpers.wait()
local data = io.open(tmpname):read('*all')
local data = io.open(fname):read('*all')
if nodedent then
helpers.eq(text, data)
else
helpers.eq(helpers.dedent(text), data)
end
os.remove(tmpname)
os.remove(fname)
end
describe('character classes in regexp', function()

View File

@ -7,6 +7,8 @@ local clear, feed = helpers.clear, helpers.feed
local execute, expect = helpers.execute, helpers.expect
local wait = helpers.wait
if helpers.pending_win32(pending) then return end
describe(':highlight', function()
setup(clear)

View File

@ -5,6 +5,8 @@ local feed, insert, source = helpers.feed, helpers.insert, helpers.source
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
local write_file, call = helpers.write_file, helpers.call
if helpers.pending_win32(pending) then return end
local function write_latin1(name, text)
text = call('iconv', text, 'utf-8', 'latin-1')
write_file(name, text)

View File

@ -7,6 +7,8 @@ local helpers = require('test.functional.helpers')(after_each)
local feed, insert = helpers.feed, helpers.insert
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
if helpers.pending_win32(pending) then return end
describe('store cursor position in session file in Latin-1', function()
setup(clear)

View File

@ -6,6 +6,8 @@ local helpers = require('test.functional.helpers')(after_each)
local clear = helpers.clear
local execute, expect = helpers.execute, helpers.expect
if helpers.pending_win32(pending) then return end
describe('glob() and globpath()', function()
setup(clear)

View File

@ -5,6 +5,8 @@ local Screen = require('test.functional.ui.screen')
local insert = helpers.insert
local clear, execute = helpers.clear, helpers.execute
if helpers.pending_win32(pending) then return end
describe('107', function()
setup(clear)

View File

@ -4,6 +4,8 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, execute, eq = helpers.clear, helpers.execute, helpers.eq
local eval, exc_exec, neq = helpers.eval, helpers.exc_exec, helpers.neq
if helpers.pending_win32(pending) then return end
describe('argument list commands', function()
before_each(clear)

View File

@ -2,6 +2,8 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, source = helpers.clear, helpers.source
local eq, eval, execute = helpers.eq, helpers.eval, helpers.execute
if helpers.pending_win32(pending) then return end
describe('Test for delete()', function()
before_each(clear)

View File

@ -6,7 +6,7 @@ local clear, call, eq = helpers.clear, helpers.call, helpers.eq
local neq, exc_exec = helpers.neq, helpers.exc_exec
describe('Test getting and setting file permissions', function()
local tempfile = os.tmpname()
local tempfile = helpers.tmpname()
before_each(function()
os.remove(tempfile)

View File

@ -4,6 +4,8 @@ local helpers = require('test.functional.helpers')(after_each)
local feed = helpers.feed
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
if helpers.pending_win32(pending) then return end
describe('fixeol', function()
local function rmtestfiles()
os.remove('test.out')

View File

@ -4,6 +4,8 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, source = helpers.clear, helpers.source
local call, eq, nvim = helpers.call, helpers.eq, helpers.meths
if helpers.pending_win32(pending) then return end
local function expected_empty()
eq({}, nvim.get_vvar('errors'))
end

View File

@ -4,6 +4,8 @@ local helpers = require('test.functional.helpers')(after_each)
local eq, eval, source = helpers.eq, helpers.eval, helpers.source
local call, clear, execute = helpers.call, helpers.clear, helpers.execute
if helpers.pending_win32(pending) then return end
describe('getcwd', function()
before_each(clear)

View File

@ -9,6 +9,8 @@ local function expected_empty()
eq({}, nvim.get_vvar('errors'))
end
if helpers.pending_win32(pending) then return end
describe('packadd', function()
before_each(function()
clear()

View File

@ -5,6 +5,8 @@ local feed, insert, source = helpers.feed, helpers.insert, helpers.source
local clear, execute = helpers.clear, helpers.execute
local eq, eval = helpers.eq, helpers.eval
if helpers.pending_win32(pending) then return end
describe('wordcount', function()
before_each(clear)

View File

@ -2,6 +2,8 @@ local helpers = require('test.functional.helpers')(after_each)
local eq, clear, eval, feed =
helpers.eq, helpers.clear, helpers.eval, helpers.feed
if helpers.pending_win32(pending) then return end
describe('K', function()
local test_file = 'K_spec_out'
before_each(function()

View File

@ -3,6 +3,8 @@ local clear = helpers.clear
local eq = helpers.eq
local getcwd = helpers.funcs.getcwd
if helpers.pending_win32(pending) then return end
describe("'autochdir'", function()
it('given on the shell gets processed properly', function()
local targetdir = 'test/functional/fixtures'

View File

@ -9,6 +9,8 @@ local eval = helpers.eval
local eq = helpers.eq
local neq = helpers.neq
if helpers.pending_win32(pending) then return end
local function init_session(...)
local args = { helpers.nvim_prog, '-i', 'NONE', '--embed',
'--cmd', 'set shortmess+=I background=light noswapfile noautoindent',

View File

@ -2,6 +2,8 @@ local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local clear, execute = helpers.clear, helpers.execute
if helpers.pending_win32(pending) then return end
describe("'shortmess'", function()
local screen

View File

@ -43,6 +43,8 @@ local wshada, _, fname = get_shada_rw('Xtest-functional-plugin-shada.shada')
local wshada_tmp, _, fname_tmp =
get_shada_rw('Xtest-functional-plugin-shada.shada.tmp.f')
if helpers.pending_win32(pending) then return end
describe('In autoload/shada.vim', function()
local epoch = os.date('%Y-%m-%dT%H:%M:%S', 0)
before_each(function()

View File

@ -8,6 +8,8 @@ local reset, set_additional_cmd, clear =
shada_helpers.reset, shada_helpers.set_additional_cmd,
shada_helpers.clear
if helpers.pending_win32(pending) then return end
describe('ShaDa support code', function()
local testfilename = 'Xtestfile-functional-shada-buffers'
local testfilename_2 = 'Xtestfile-functional-shada-buffers-2'

View File

@ -5,7 +5,7 @@ local write_file, merge_args = helpers.write_file, helpers.merge_args
local mpack = require('mpack')
local tmpname = os.tmpname()
local tmpname = helpers.tmpname()
local additional_cmd = ''
local function nvim_argv()

View File

@ -14,6 +14,8 @@ local nvim_current_line = function()
return curwinmeths.get_cursor()[1]
end
if helpers.pending_win32(pending) then return end
describe('ShaDa support code', function()
local testfilename = 'Xtestfile-functional-shada-marks'
local testfilename_2 = 'Xtestfile-functional-shada-marks-2'

View File

@ -18,6 +18,8 @@ local read_shada_file = shada_helpers.read_shada_file
local wshada, _, shada_fname, clean =
get_shada_rw('Xtest-functional-shada-shada.shada')
if helpers.pending_win32(pending) then return end
describe('ShaDa support code', function()
before_each(reset)
after_each(function()

View File

@ -4,6 +4,8 @@ local helpers = require('test.functional.helpers')(after_each)
local feed, execute, clear = helpers.feed, helpers.execute, helpers.clear
local mkdir, write_file, rmdir = helpers.mkdir, helpers.write_file, helpers.rmdir
if helpers.pending_win32(pending) then return end
local Screen = require('test.functional.ui.screen')

View File

@ -8,6 +8,7 @@ local eq, clear, eval, feed, nvim =
local Screen = require('test.functional.ui.screen')
if helpers.pending_win32(pending) then return end
local function create_file_with_nuls(name)
return function()

View File

@ -6,6 +6,8 @@ local feed_data = thelpers.feed_data
local enter_altscreen = thelpers.enter_altscreen
local exit_altscreen = thelpers.exit_altscreen
if helpers.pending_win32(pending) then return end
describe('terminal altscreen', function()
local screen

View File

@ -5,6 +5,7 @@ local wait = helpers.wait
local eval, execute, source = helpers.eval, helpers.execute, helpers.source
local eq, neq = helpers.eq, helpers.neq
if helpers.pending_win32(pending) then return end
describe('terminal buffer', function()
local screen

View File

@ -6,6 +6,7 @@ local nvim_dir, execute = helpers.nvim_dir, helpers.execute
local hide_cursor = thelpers.hide_cursor
local show_cursor = thelpers.show_cursor
if helpers.pending_win32(pending) then return end
describe('terminal cursor', function()
local screen

View File

@ -4,6 +4,8 @@ local clear, wait, nvim = helpers.clear, helpers.wait, helpers.nvim
local nvim_dir, source, eq = helpers.nvim_dir, helpers.source, helpers.eq
local execute, eval = helpers.execute, helpers.eval
if helpers.pending_win32(pending) then return end
describe(':terminal', function()
local screen

View File

@ -5,6 +5,7 @@ local feed, clear, nvim = helpers.feed, helpers.clear, helpers.nvim
local nvim_dir, execute = helpers.nvim_dir, helpers.execute
local eq, eval = helpers.eq, helpers.eval
if helpers.pending_win32(pending) then return end
describe('terminal window highlighting', function()
local screen

View File

@ -4,6 +4,8 @@ local clear = helpers.clear
local feed, nvim = helpers.feed, helpers.nvim
local feed_data = thelpers.feed_data
if helpers.pending_win32(pending) then return end
describe('terminal mouse', function()
local screen

View File

@ -6,6 +6,8 @@ local feed, nvim_dir, execute = helpers.feed, helpers.nvim_dir, helpers.execute
local wait = helpers.wait
local feed_data = thelpers.feed_data
if helpers.pending_win32(pending) then return end
describe('terminal scrollback', function()
local screen

View File

@ -6,6 +6,8 @@ local feed = thelpers.feed_data
local execute = helpers.execute
local nvim_dir = helpers.nvim_dir
if helpers.pending_win32(pending) then return end
describe('tui', function()
local screen

View File

@ -4,6 +4,8 @@ local feed, clear = helpers.feed, helpers.clear
local wait = helpers.wait
local execute = helpers.execute
if helpers.pending_win32(pending) then return end
describe('terminal window', function()
local screen

View File

@ -4,6 +4,8 @@ local clear = helpers.clear
local feed, nvim = helpers.feed, helpers.nvim
local execute = helpers.execute
if helpers.pending_win32(pending) then return end
describe('terminal', function()
local screen

View File

@ -3,6 +3,7 @@ local Screen = require('test.functional.ui.screen')
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local execute, request, neq = helpers.execute, helpers.request, helpers.neq
if helpers.pending_win32(pending) then return end
describe('Buffer highlighting', function()
local screen

View File

@ -4,6 +4,7 @@ local os = require('os')
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local execute, request, eq = helpers.execute, helpers.request, helpers.eq
if helpers.pending_win32(pending) then return end
describe('color scheme compatibility', function()
before_each(function()

View File

@ -4,6 +4,8 @@ local feed, next_message, eq = helpers.feed, helpers.next_message, helpers.eq
local expect = helpers.expect
local Screen = require('test.functional.ui.screen')
if helpers.pending_win32(pending) then return end
describe('mappings', function()
local cid

View File

@ -4,6 +4,8 @@ local clear, feed, meths = helpers.clear, helpers.feed, helpers.meths
local insert, execute = helpers.insert, helpers.execute
local eq, funcs = helpers.eq, helpers.funcs
if helpers.pending_win32(pending) then return end
describe('Mouse input', function()
local screen

View File

@ -1,6 +1,8 @@
local session = require('test.functional.helpers')(after_each)
local child_session = require('test.functional.terminal.helpers')
if session.pending_win32(pending) then return end
describe("shell command :!", function()
local screen
before_each(function()

View File

@ -4,6 +4,8 @@ local spawn, set_session, clear = helpers.spawn, helpers.set_session, helpers.cl
local feed, execute = helpers.feed, helpers.execute
local insert = helpers.insert
if helpers.pending_win32(pending) then return end
describe('Initial screen', function()
local screen
local nvim_argv = {helpers.nvim_prog, '-u', 'NONE', '-i', 'NONE', '-N',

View File

@ -3,6 +3,8 @@ local Screen = require('test.functional.ui.screen')
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local execute = helpers.execute
if helpers.pending_win32(pending) then return end
describe('search highlighting', function()
local screen
local colors = Screen.colors

View File

@ -2,6 +2,8 @@ local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local clear, feed, execute = helpers.clear, helpers.feed, helpers.execute
if helpers.pending_win32(pending) then return end
describe('Signs', function()
local screen

View File

@ -3,6 +3,8 @@ local Screen = require('test.functional.ui.screen')
local clear, feed, execute = helpers.clear, helpers.feed, helpers.execute
local insert = helpers.insert
if helpers.pending_win32(pending) then return end
describe('Screen', function()
local screen

View File

@ -3,6 +3,8 @@ local Screen = require('test.functional.ui.screen')
local clear, feed, execute = helpers.clear, helpers.feed, helpers.execute
local funcs = helpers.funcs
if helpers.pending_win32(pending) then return end
describe("'wildmode'", function()
local screen

View File

@ -4,6 +4,8 @@ local clear, feed = helpers.clear, helpers.feed
local eval, eq, neq = helpers.eval, helpers.eq, helpers.neq
local execute, source, expect = helpers.execute, helpers.source, helpers.expect
if helpers.pending_win32(pending) then return end
describe('completion', function()
local screen

View File

@ -81,8 +81,8 @@ endif()
include(ExternalProject)
set(LIBUV_URL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz)
set(LIBUV_SHA256 906e1a5c673c95cb261adeacdb7308a65b4a8f7c9c50d85f3021364951fa9cde)
set(LIBUV_URL https://github.com/libuv/libuv/archive/v1.9.1.tar.gz)
set(LIBUV_SHA256 a6ca9f0648973d1463f46b495ce546ddcbe7cce2f04b32e802a15539e46c57ad)
set(MSGPACK_URL https://github.com/msgpack/msgpack-c/archive/cpp-1.0.0.tar.gz)
set(MSGPACK_SHA256 afda64ca445203bb7092372b822bae8b2539fdcebbfc3f753f393628c2bcfe7d)

View File

@ -3,11 +3,7 @@
# writing a recipe that is meant for cross-compile, use the HOSTDEPS_* variables
# instead of DEPS_* - check the main CMakeLists.txt for a list.
if(MSVC OR (MINGW AND NOT CMAKE_CROSSCOMPILING))
message(STATUS "Building busted in Windows is not supported (skipping)")
else()
option(USE_BUNDLED_BUSTED "Use the bundled version of busted to run tests." ON)
endif()
# BuildLuarocks(CONFIGURE_COMMAND ... BUILD_COMMAND ... INSTALL_COMMAND ...)
# Reusable function to build luarocks, wraps ExternalProject_Add.
@ -134,12 +130,17 @@ if(USE_BUNDLED_BUSTED)
add_custom_target(penlight
DEPENDS ${HOSTDEPS_LIB_DIR}/luarocks/rocks/penlight/1.3.2-2)
add_custom_command(OUTPUT ${HOSTDEPS_BIN_DIR}/busted
if(WIN32)
set(BUSTED_EXE "${HOSTDEPS_BIN_DIR}/busted.bat")
else()
set(BUSTED_EXE "${HOSTDEPS_BIN_DIR}/busted")
endif()
add_custom_command(OUTPUT ${BUSTED_EXE}
COMMAND ${LUAROCKS_BINARY}
ARGS build https://raw.githubusercontent.com/Olivine-Labs/busted/v2.0.rc11-0/busted-2.0.rc11-0.rockspec ${LUAROCKS_BUILDARGS}
DEPENDS penlight)
add_custom_target(busted
DEPENDS ${HOSTDEPS_BIN_DIR}/busted)
DEPENDS ${BUSTED_EXE})
add_custom_command(OUTPUT ${HOSTDEPS_BIN_DIR}/luacheck
COMMAND ${LUAROCKS_BINARY}
@ -152,9 +153,9 @@ if(USE_BUNDLED_BUSTED)
if(MINGW AND CMAKE_CROSSCOMPILING)
set(LUV_DEPS ${LUV_DEPS} libuv_host)
endif()
set(LUV_ARGS CFLAGS='-O0 -g3 -fPIC')
set(LUV_ARGS "CFLAGS=-O0 -g3 -fPIC")
if(USE_BUNDLED_LIBUV)
set(LUV_ARGS LIBUV_DIR=${HOSTDEPS_INSTALL_DIR} CFLAGS='-O0 -g3 -fPIC')
list(APPEND LUV_ARGS LIBUV_DIR=${HOSTDEPS_INSTALL_DIR})
endif()
add_custom_command(OUTPUT ${HOSTDEPS_LIB_DIR}/luarocks/rocks/luv
COMMAND ${LUAROCKS_BINARY}