aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/README.md3
-rw-r--r--test/unit/helpers.lua4
-rw-r--r--test/unit/testtest_spec.lua13
3 files changed, 18 insertions, 2 deletions
diff --git a/test/README.md b/test/README.md
index df66f24626..dc83b1ceef 100644
--- a/test/README.md
+++ b/test/README.md
@@ -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.
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)