mirror of
https://github.com/ernstwi/vim-secret.git
synced 2025-12-26 17:25:00 +08:00
Add Docker setup for testing
This commit is contained in:
parent
186645a0aa
commit
5b8a833fe9
4 changed files with 58 additions and 22 deletions
22
Dockerfile
Normal file
22
Dockerfile
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
FROM ubuntu
|
||||
|
||||
RUN apt update && apt install -y \
|
||||
git \
|
||||
vim \
|
||||
neovim
|
||||
|
||||
WORKDIR root
|
||||
|
||||
RUN git clone https://github.com/junegunn/vader.vim
|
||||
COPY . main
|
||||
|
||||
RUN mkdir -p /root/.vim/pack/all/start
|
||||
RUN mkdir -p /root/.local/share/nvim/site/pack/all/start
|
||||
|
||||
RUN ln -s /root/* /root/.vim/pack/all/start
|
||||
RUN ln -s /root/* /root/.local/share/nvim/site/pack/all/start
|
||||
|
||||
RUN echo "set encoding=utf-8" > /root/.vim/vimrc
|
||||
|
||||
WORKDIR main
|
||||
ENTRYPOINT ["./run-tests.sh"]
|
||||
|
|
@ -41,6 +41,9 @@ See [`:help secret-highlight`](./doc/secret.txt#L74) for more info.
|
|||
|
||||
## Testing
|
||||
|
||||
`make` can be used to do testing in an isolated environment. The default target runs `test/*.vader` in Vim and Neovim.
|
||||
Docker can be used to run tests in an isolated environment:
|
||||
|
||||
Thanks to [vim-sneak](https://github.com/justinmk/vim-sneak) for this idea.
|
||||
```
|
||||
$ docker build -t vim-secret .
|
||||
$ docker run --rm vim-secret [--verbose]
|
||||
```
|
||||
|
|
|
|||
20
makefile
20
makefile
|
|
@ -1,20 +0,0 @@
|
|||
VIM = vim -N -u NORC -i NONE --cmd 'set rtp=test/vim-vader packpath='
|
||||
|
||||
all: v nv
|
||||
|
||||
v: test/vim-vader
|
||||
$(VIM) -c 'Vader! test/*.vader'
|
||||
|
||||
v-i: test/vim-vader
|
||||
$(VIM) -c 'Vader test/*.vader'
|
||||
|
||||
nv: test/vim-vader
|
||||
n$(VIM) --headless -c 'Vader! test/*.vader'
|
||||
|
||||
nv-i: test/vim-vader
|
||||
n$(VIM) -c 'Vader test/*.vader'
|
||||
|
||||
test/vim-vader:
|
||||
git clone https://github.com/junegunn/vader.vim test/vim-vader || ( cd test/vim-vader && git pull --rebase )
|
||||
|
||||
.PHONY: all v v-i nv nv-i
|
||||
31
run-tests.sh
Executable file
31
run-tests.sh
Executable file
|
|
@ -0,0 +1,31 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if [[ $1 == "--verbose" || $1 == "-v" ]]; then
|
||||
VERBOSE=1
|
||||
fi
|
||||
|
||||
check_results() {
|
||||
if [[ $? -eq 0 ]]; then
|
||||
echo -e "\e[32m$1: PASS\e[0m"
|
||||
else
|
||||
echo -e "\e[31m$1: FAIL\e[0m"
|
||||
fi
|
||||
|
||||
if [[ $VERBOSE == 1 ]]; then
|
||||
sed -n '/^Starting Vader:/,$p' < vader_output
|
||||
fi
|
||||
}
|
||||
|
||||
export VADER_OUTPUT_FILE=vader_output
|
||||
|
||||
vim.basic --not-a-term -c Vader! test/*.vader &>/dev/null
|
||||
check_results "VIM" $1
|
||||
rm vader_output
|
||||
|
||||
if [[ $VERBOSE == 1 ]]; then
|
||||
echo ""
|
||||
fi
|
||||
|
||||
nvim -es -c Vader! test/*.vader
|
||||
check_results "NEOVIM" $1
|
||||
rm vader_output
|
||||
Loading…
Add table
Add a link
Reference in a new issue