diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2023-11-30 20:35:25 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2023-11-30 20:35:25 +0000 |
commit | 1b7b916b7631ddf73c38e3a0070d64e4636cb2f3 (patch) | |
tree | cd08258054db80bb9a11b1061bb091c70b76926a /test/old/testdir/runnvim.sh | |
parent | eaa89c11d0f8aefbb512de769c6c82f61a8baca3 (diff) | |
parent | 4a8bf24ac690004aedf5540fa440e788459e5e34 (diff) | |
download | rneovim-1b7b916b7631ddf73c38e3a0070d64e4636cb2f3.tar.gz rneovim-1b7b916b7631ddf73c38e3a0070d64e4636cb2f3.tar.bz2 rneovim-1b7b916b7631ddf73c38e3a0070d64e4636cb2f3.zip |
Merge remote-tracking branch 'upstream/master' into aucmd_textputpostaucmd_textputpost
Diffstat (limited to 'test/old/testdir/runnvim.sh')
-rwxr-xr-x | test/old/testdir/runnvim.sh | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/test/old/testdir/runnvim.sh b/test/old/testdir/runnvim.sh new file mode 100755 index 0000000000..4d8ea0527d --- /dev/null +++ b/test/old/testdir/runnvim.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env bash + +main() {( + local separator="================================================================================" + local oldesttest= + if test "$1" = "--oldesttest" ; then + shift + oldesttest=1 + fi + local root="$1" ; shift + local nvim_prg="$1" ; shift + local test_name="$1" ; shift + + local tlog="$test_name.tlog" + + export NVIM_TEST_ARGC=$# + local arg + local i=0 + # shellcheck disable=SC2034 # (unused "arg", used in "eval"). + for arg ; do + eval "export NVIM_TEST_ARG$i=\"\$arg\"" + i=$(( i+1 )) + done + + BUILD_DIR="$(dirname "$nvim_prg")/.." + export BUILD_DIR + export FAILED=0 + + . $(dirname $0)/test.sh + + # Redirect XDG_CONFIG_HOME so users local config doesn't interfere + export XDG_CONFIG_HOME="$root" + + export VIMRUNTIME="$root/runtime" + if ! "$nvim_prg" \ + -u NONE -i NONE \ + --headless \ + --cmd 'set shortmess+=I noswapfile noundofile nomore' \ + -S runnvim.vim \ + "$tlog" > "out-$tlog" 2> "err-$tlog" + then + fail "$test_name" "Nvim exited with non-zero code" + fi + { + echo "Stdout of :terminal runner" + echo "$separator" + cat "out-$tlog" + echo "$separator" + echo "Stderr of :terminal runner" + echo "$separator" + cat "err-$tlog" + echo "$separator" + } >> "$tlog" + if test "$oldesttest" = 1 ; then + if ! diff -q test.out "$test_name.ok" > /dev/null 2>&1 ; then + if test -f test.out ; then + fail "$test_name" "Oldest test .out file differs from .ok file" + { + echo "Diff between test.out and $test_name.ok" + echo "$separator" + diff -a test.out "$test_name.ok" + echo "$separator" + } >> "$tlog" + else + echo "No output in test.out" >> "$tlog" + fi + fi + fi + valgrind_check . + if test -n "$LOG_DIR" ; then + check_sanitizer "$LOG_DIR" + fi + check_core_dumps + if test "$FAILED" = 1 ; then + cat "$tlog" + fi + rm -f "$tlog" + if test "$FAILED" = 1 ; then + echo "Test $test_name failed, see output above and summary for more details" >> test.log + # When Neovim crashed/aborted it might not have created messages. + # test.log itself is used as an indicator to exit non-zero in the Makefile. + if ! test -f message; then + cp -a test.log messages + fi + fi +)} + +main "$@" |