unittests: Do not hang when error message is too long

This commit is contained in:
ZyX
2017-04-01 11:07:08 +03:00
parent 8de53157b6
commit 933d60bc23
3 changed files with 18 additions and 2 deletions

View File

@ -99,3 +99,6 @@ get backtrace from).
approximately 90% of the tests. Should be used when finding cores is too hard
for some reason. Normally (on OS X or when `NVIM_TEST_CORE_GLOB_DIRECTORY` is
defined and this variable is not) cores are checked for after each test.
`NVIM_TEST_RUN_TESTTEST` (U) (1): allows running `test/unit/testtest_spec.lua`
used to check how testing infrastructure works.

View File

@ -554,8 +554,6 @@ local function gen_itp(it)
end
else
sc.close(wr)
sc.wait(child_pid)
child_pid = nil
local function check()
local res = sc.read(rd, 2)
eq(2, #res)
@ -570,6 +568,8 @@ local function gen_itp(it)
assert.just_fail(err)
end
local err, emsg = pcall(check)
sc.wait(child_pid)
child_pid = nil
sc.close(rd)
if not err then
if allow_failure then

View File

@ -0,0 +1,13 @@
local helpers = require('test.unit.helpers')(after_each)
local assert = require('luassert')
local itp = helpers.gen_itp(it)
-- All of the below tests must fail. Check how exactly they fail.
if os.getenv('NVIM_TEST_RUN_TESTTEST') ~= '1' then
return
end
describe('test code', function()
itp('does not hang when working with lengthy errors', function()
assert.just_fail(('x'):rep(65536))
end)
end)