From 933d60bc2356c1e22b8dbf8f8847c5323bc1f7a7 Mon Sep 17 00:00:00 2001 From: ZyX Date: Sat, 1 Apr 2017 11:07:08 +0300 Subject: unittests: Do not hang when error message is too long --- test/unit/helpers.lua | 4 ++-- test/unit/testtest_spec.lua | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 test/unit/testtest_spec.lua (limited to 'test/unit') diff --git a/test/unit/helpers.lua b/test/unit/helpers.lua index f4e6194fc7..74b5b4e8bd 100644 --- a/test/unit/helpers.lua +++ b/test/unit/helpers.lua @@ -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 diff --git a/test/unit/testtest_spec.lua b/test/unit/testtest_spec.lua new file mode 100644 index 0000000000..2397081b09 --- /dev/null +++ b/test/unit/testtest_spec.lua @@ -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) -- cgit