mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-23 10:30:05 +08:00
86 lines
1.9 KiB
Bash
86 lines
1.9 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
luacov_dir=""
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case "${1}" in
|
|
--clean)
|
|
shift
|
|
echo "[test] cleaning up environment"
|
|
rm -rf ./.testcache
|
|
echo "[test] envionment cleaned"
|
|
;;
|
|
*)
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
function setup_environment() {
|
|
echo
|
|
echo "[test] setting up environment"
|
|
echo
|
|
|
|
local plugins_dir="./.testcache/site/pack/vendor/start"
|
|
if [[ ! -d "${plugins_dir}" ]]; then
|
|
mkdir -p "${plugins_dir}"
|
|
fi
|
|
|
|
if [[ ! -d "${plugins_dir}/nui.nvim" ]]; then
|
|
echo "[plugins] nui.nvim: installing..."
|
|
git clone https://github.com/MunifTanjim/nui.nvim "${plugins_dir}/nui.nvim"
|
|
echo "[plugins] nui.nvim: installed"
|
|
echo
|
|
fi
|
|
|
|
if [[ ! -d "${plugins_dir}/nvim-web-devicons" ]]; then
|
|
echo "[plugins] nvim-web-devicons: installing..."
|
|
git clone https://github.com/nvim-tree/nvim-web-devicons "${plugins_dir}/nvim-web-devicons"
|
|
echo "[plugins] nvim-web-devicons: installed"
|
|
echo
|
|
fi
|
|
|
|
if [[ ! -d "${plugins_dir}/plenary.nvim" ]]; then
|
|
echo "[plugins] plenary.nvim: installing..."
|
|
git clone https://github.com/nvim-lua/plenary.nvim "${plugins_dir}/plenary.nvim"
|
|
# this commit broke luacov
|
|
#git -C "${plugins_dir}/plenary.nvim" revert --no-commit 9069d14a120cadb4f6825f76821533f2babcab92
|
|
echo "[plugins] plenary.nvim: installed"
|
|
echo
|
|
fi
|
|
|
|
echo "[test] environment ready"
|
|
echo
|
|
}
|
|
|
|
function luacov_start() {
|
|
luacov_dir="$(dirname "$(luarocks which luacov 2>/dev/null | head -1)")"
|
|
if [[ "${luacov_dir}" == "." ]]; then
|
|
luacov_dir=""
|
|
fi
|
|
|
|
if test -n "${luacov_dir}"; then
|
|
rm -f luacov.*.out
|
|
export LUA_PATH=";;${luacov_dir}/?.lua"
|
|
fi
|
|
}
|
|
|
|
function luacov_end() {
|
|
if test -n "${luacov_dir}"; then
|
|
luacov
|
|
|
|
echo
|
|
tail -n +$(($(grep -n "^Summary$" luacov.report.out | cut -d":" -f1) - 1)) luacov.report.out
|
|
fi
|
|
}
|
|
|
|
setup_environment
|
|
|
|
#luacov_start
|
|
|
|
make test
|
|
|
|
#luacov_end
|