From 6e04f7b2e7c5d5d82619a6054fa9b0c5c1d075e9 Mon Sep 17 00:00:00 2001 From: Michael Utz Date: Wed, 16 Nov 2022 14:30:35 +0300 Subject: [PATCH] Add test script --- scripts/test | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 scripts/test diff --git a/scripts/test b/scripts/test new file mode 100755 index 0000000..0e5e898 --- /dev/null +++ b/scripts/test @@ -0,0 +1,20 @@ +#!/bin/bash +tempfile=".test_output.tmp" + +if [[ -n $1 ]]; then + nvim --headless --noplugin -u specs/init.vim -c "PlenaryBustedFile $1" | tee "${tempfile}" +else + nvim --headless --noplugin -u specs/init.vim -c "PlenaryBustedDirectory specs/ {minimal_init = 'specs/init.vim'}" | tee "${tempfile}" +fi + +# Plenary doesn't emit exit code 1 when tests have errors during setup +errors=$(sed 's/\x1b\[[0-9;]*m//g' "${tempfile}" | awk '/(Errors|Failed) :/ {print $3}' | grep -v '0') + +rm "${tempfile}" + +if [[ -n $errors ]]; then + echo "Tests failed" + exit 1 +fi + +exit 0