aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/README.md137
1 files changed, 72 insertions, 65 deletions
diff --git a/test/README.md b/test/README.md
index 903e93e495..73d51c995c 100644
--- a/test/README.md
+++ b/test/README.md
@@ -26,7 +26,7 @@ available in this version` errors.
- [Running tests](#running-tests)
- [Writing tests](#writing-tests)
- [Lint](#lint)
-- [Environment variables](#environment-variables)
+- [Configuration](#configuration)
---
@@ -246,95 +246,102 @@ Ignore the smallest applicable scope (e.g. inside a function, not at the top of
the file).
-Environment variables
-=====================
+Configuration
+=============
+
+busted (luassert) by default does not print the full result of deeply-nested
+tables. But sometimes it's useful while debugging a test.
+
+ assert:set_parameter('TableFormatLevel', 1000000)
Test behaviour is affected by environment variables. Currently supported
(Functional, Unit, Benchmarks) (when Defined; when set to _1_; when defined,
treated as Integer; when defined, treated as String; when defined, treated as
Number; !must be defined to function properly):
-`GDB` (F) (D): makes nvim instances to be run under `gdbserver`. It will be
-accessible on `localhost:7777`: use `gdb build/bin/nvim`, type `target remote
-:7777` inside.
+- `GDB` (F) (D): makes nvim instances to be run under `gdbserver`. It will be
+ accessible on `localhost:7777`: use `gdb build/bin/nvim`, type `target remote
+ :7777` inside.
-`GDBSERVER_PORT` (F) (I): overrides port used for `GDB`.
+- `GDBSERVER_PORT` (F) (I): overrides port used for `GDB`.
-`VALGRIND` (F) (D): makes nvim instances to be run under `valgrind`. Log files
-are named `valgrind-%p.log` in this case. Note that non-empty valgrind log may
-fail tests. Valgrind arguments may be seen in `/test/functional/helpers.lua`.
-May be used in conjunction with `GDB`.
+- `VALGRIND` (F) (D): makes nvim instances to be run under `valgrind`. Log
+ files are named `valgrind-%p.log` in this case. Note that non-empty valgrind
+ log may fail tests. Valgrind arguments may be seen in
+ `/test/functional/helpers.lua`. May be used in conjunction with `GDB`.
-`VALGRIND_LOG` (F) (S): overrides valgrind log file name used for `VALGRIND`.
+- `VALGRIND_LOG` (F) (S): overrides valgrind log file name used for `VALGRIND`.
-`TEST_SKIP_FRAGILE` (F) (D): makes test suite skip some fragile tests.
+- `TEST_SKIP_FRAGILE` (F) (D): makes test suite skip some fragile tests.
-`NVIM_PROG`, `NVIM_PRG` (F) (S): override path to Neovim executable (default to
-`build/bin/nvim`).
+- `NVIM_PROG`, `NVIM_PRG` (F) (S): override path to Neovim executable (default
+ to `build/bin/nvim`).
-`CC` (U) (S): specifies which C compiler to use to preprocess files. Currently
-only compilers with gcc-compatible arguments are supported.
+- `CC` (U) (S): specifies which C compiler to use to preprocess files.
+ Currently only compilers with gcc-compatible arguments are supported.
-`NVIM_TEST_MAIN_CDEFS` (U) (1): makes `ffi.cdef` run in main process. This
-raises a possibility of bugs due to conflicts in header definitions, despite the
-counters, but greatly speeds up unit tests by not requiring `ffi.cdef` to do
-parsing of big strings with C definitions.
+- `NVIM_TEST_MAIN_CDEFS` (U) (1): makes `ffi.cdef` run in main process. This
+ raises a possibility of bugs due to conflicts in header definitions, despite
+ the counters, but greatly speeds up unit tests by not requiring `ffi.cdef` to
+ do parsing of big strings with C definitions.
-`NVIM_TEST_PRINT_I` (U) (1): makes `cimport` print preprocessed, but not yet
-filtered through `formatc` headers. Used to debug `formatc`. Printing is done
-with the line numbers.
+- `NVIM_TEST_PRINT_I` (U) (1): makes `cimport` print preprocessed, but not yet
+ filtered through `formatc` headers. Used to debug `formatc`. Printing is done
+ with the line numbers.
-`NVIM_TEST_PRINT_CDEF` (U) (1): makes `cimport` print final lines which will be
-then passed to `ffi.cdef`. Used to debug errors `ffi.cdef` happens to throw
-sometimes.
+- `NVIM_TEST_PRINT_CDEF` (U) (1): makes `cimport` print final lines which will
+ be then passed to `ffi.cdef`. Used to debug errors `ffi.cdef` happens to
+ throw sometimes.
-`NVIM_TEST_PRINT_SYSCALLS` (U) (1): makes it print to stderr when syscall
-wrappers are called and what they returned. Used to debug code which makes unit
-tests be executed in separate processes.
+- `NVIM_TEST_PRINT_SYSCALLS` (U) (1): makes it print to stderr when syscall
+ wrappers are called and what they returned. Used to debug code which makes
+ unit tests be executed in separate processes.
-`NVIM_TEST_RUN_FAILING_TESTS` (U) (1): makes `itp` run tests which are known to
-fail (marked by setting third argument to `true`).
+- `NVIM_TEST_RUN_FAILING_TESTS` (U) (1): makes `itp` run tests which are known
+ to fail (marked by setting third argument to `true`).
-`LOG_DIR` (FU) (S!): specifies where to seek for valgrind and ASAN log files.
+- `LOG_DIR` (FU) (S!): specifies where to seek for valgrind and ASAN log files.
-`NVIM_TEST_CORE_*` (FU) (S): a set of environment variables which specify where
-to search for core files. Are supposed to be defined all at once.
+- `NVIM_TEST_CORE_*` (FU) (S): a set of environment variables which specify
+ where to search for core files. Are supposed to be defined all at once.
-`NVIM_TEST_CORE_GLOB_DIRECTORY` (FU) (S): directory where core files are
-located. May be `.`. This directory is then recursively searched for core files.
-Note: this variable must be defined for any of the following to have any effect.
+- `NVIM_TEST_CORE_GLOB_DIRECTORY` (FU) (S): directory where core files are
+ located. May be `.`. This directory is then recursively searched for core
+ files. Note: this variable must be defined for any of the following to have
+ any effect.
-`NVIM_TEST_CORE_GLOB_RE` (FU) (S): regular expression which must be matched by
-core files. E.g. `/core[^/]*$`. May be absent, in which case any file is
-considered to be matched.
+- `NVIM_TEST_CORE_GLOB_RE` (FU) (S): regular expression which must be matched
+ by core files. E.g. `/core[^/]*$`. May be absent, in which case any file is
+ considered to be matched.
-`NVIM_TEST_CORE_EXC_RE` (FU) (S): regular expression which excludes certain
-directories from searching for core files inside. E.g. use `^/%.deps$` to not
-search inside `/.deps`. If absent, nothing is excluded.
+- `NVIM_TEST_CORE_EXC_RE` (FU) (S): regular expression which excludes certain
+ directories from searching for core files inside. E.g. use `^/%.deps$` to not
+ search inside `/.deps`. If absent, nothing is excluded.
-`NVIM_TEST_CORE_DB_CMD` (FU) (S): command to get backtrace out of the debugger.
-E.g. `gdb -n -batch -ex "thread apply all bt full" "$_NVIM_TEST_APP" -c
-"$_NVIM_TEST_CORE"`. Defaults to the example command. This debug command may use
-environment variables `_NVIM_TEST_APP` (path to application which is being
-debugged: normally either nvim or luajit) and `_NVIM_TEST_CORE` (core file to
-get backtrace from).
+- `NVIM_TEST_CORE_DB_CMD` (FU) (S): command to get backtrace out of the
+ debugger. E.g. `gdb -n -batch -ex "thread apply all bt full"
+ "$_NVIM_TEST_APP" -c "$_NVIM_TEST_CORE"`. Defaults to the example command.
+ This debug command may use environment variables `_NVIM_TEST_APP` (path to
+ application which is being debugged: normally either nvim or luajit) and
+ `_NVIM_TEST_CORE` (core file to get backtrace from).
-`NVIM_TEST_CORE_RANDOM_SKIP` (FU) (D): makes `check_cores` not check cores after
-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_CORE_RANDOM_SKIP` (FU) (D): makes `check_cores` not check cores
+ after 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.
+- `NVIM_TEST_RUN_TESTTEST` (U) (1): allows running
+ `test/unit/testtest_spec.lua` used to check how testing infrastructure works.
-`NVIM_TEST_TRACE_LEVEL` (U) (N): specifies unit tests tracing level: `0`
-disables tracing (the fastest, but you get no data if tests crash and there was
-no core dump generated), `1` or empty/undefined leaves only C function cals and
-returns in the trace (faster then recording everything), `2` records all
-function calls, returns and lua source lines exuecuted.
+- `NVIM_TEST_TRACE_LEVEL` (U) (N): specifies unit tests tracing level: `0`
+ disables tracing (the fastest, but you get no data if tests crash and there
+ was no core dump generated), `1` or empty/undefined leaves only C function
+ cals and returns in the trace (faster then recording everything), `2` records
+ all function calls, returns and lua source lines exuecuted.
-`NVIM_TEST_TRACE_ON_ERROR` (U) (1): makes unit tests yield trace on error in
-addition to regular error message.
+- `NVIM_TEST_TRACE_ON_ERROR` (U) (1): makes unit tests yield trace on error in
+ addition to regular error message.
-`NVIM_TEST_MAXTRACE` (U) (N): specifies maximum number of trace lines to keep.
-Default is 1024.
+- `NVIM_TEST_MAXTRACE` (U) (N): specifies maximum number of trace lines to
+ keep. Default is 1024.