1
0
Fork 0
mirror of https://github.com/pnx/neotest-phpunit synced 2026-06-16 03:54:55 +02:00
neotest-phpunit/scripts/test
2024-02-19 13:01:47 -05:00

30 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
tempfile=".test_output.tmp"
# Create packpath directory
mkdir -p packpath
# Need to clone these plugins to run tests:
git -C packpath/pack/manual/opt/plenary.nvim pull || git clone https://github.com/nvim-lua/plenary.nvim.git ./packpath/pack/manual/opt/plenary.nvim
git -C packpath/pack/manual/opt/neotest pull || git clone https://github.com/nvim-neotest/neotest.git ./packpath/pack/manual/opt/neotest
git -C packpath/pack/manual/opt/neotest-plenary pull || git clone https://github.com/nvim-neotest/neotest-plenary.git ./packpath/pack/manual/opt/neotest-plenary
git -C packpath/pack/manual/opt/nvim-treesitter pull || git clone https://github.com/nvim-treesitter/nvim-treesitter.git ./packpath/pack/manual/opt/nvim-treesitter
# Run tests
if [[ -n $1 ]]; then
nvim --headless --noplugin -u specs/minimal_init.vim -c "PlenaryBustedFile $1" | tee "${tempfile}"
else
nvim --headless --noplugin -u specs/minimal_init.vim -c "PlenaryBustedDirectory specs/ {minimal_init = 'specs/minimal_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