Skip to content

Commit 40a7366

Browse files
committed
WIP: improve testplugin setup
Fixes Vimjas#8
1 parent ff5bf66 commit 40a7366

File tree

6 files changed

+18
-17
lines changed

6 files changed

+18
-17
lines changed

Dockerfile

+7-5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ FROM alpine:3.6
22

33
RUN adduser -h /home/vimtest -s /bin/sh -D -u 8465 vimtest
44

5-
RUN mkdir -p /vim /vim-build/bin /plugins
6-
RUN chown vimtest:vimtest /home /plugins
5+
RUN mkdir -p /vim /vim-build/bin
76

87
# Useful during tests to have these packages in a deeper layer cached already.
98
# RUN apk --no-cache add --virtual vim-build build-base
@@ -12,14 +11,17 @@ ADD scripts/argecho.sh /vim-build/bin/argecho
1211
ADD scripts/install_vim.sh /sbin/install_vim
1312
ADD scripts/run_vim.sh /sbin/run_vim
1413

15-
RUN chmod +x /vim-build/bin/argecho /sbin/install_vim /sbin/run_vim
14+
RUN mkdir /home/vimtest/.vim /home/vimtest/.config
15+
ADD scripts/init.vim /home/vimtest/.vim/
16+
RUN ln -s ../.vim /home/vimtest/.config/nvim
17+
RUN ln -s .vim/init.vim /home/vimtest/.vimrc
1618

17-
ADD scripts/rtp.vim /rtp.vim
19+
RUN chmod +x /vim-build/bin/argecho /sbin/install_vim /sbin/run_vim
1820

1921
# The user directory for setup
2022
VOLUME /home/vimtest
2123

2224
# Your plugin
23-
VOLUME /testplugin
25+
VOLUME /testbed
2426

2527
ENTRYPOINT ["/sbin/run_vim"]

example/Makefile

+3-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ WRITABLE_HOME:=$(shell tmpdir=$$(mktemp -d --dry-run); \
77
cd $(CURDIR)/test; \
88
cp -a vimrc *.vader $${tmpdir}/; \
99
echo $${tmpdir})
10-
DOCKER = docker run -a stderr --rm \
11-
-v $(CURDIR):/testplugin \
12-
-v $(WRITABLE_HOME):/home/vimtest \
13-
-v $(CURDIR)/$(PLUGINS):/home/vimtest/plugins "$(IMAGE)"
10+
DOCKER = docker run -ti --rm \
11+
-v $(CURDIR):/testbed \
12+
-v $(CURDIR)/$(PLUGINS):/home/testbed/.vim/plugins "$(IMAGE)"
1413

1514
test: test-setup
1615
docker build -f Dockerfile.tests -t "$(IMAGE)" .

example/test/vimrc example/testbed.vim

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
" vint: -ProhibitSetNoCompatible
2-
source /rtp.vim
2+
3+
let s:this_dir = expand('<sfile>:h')
4+
exe 'set runtimepath+='.s:this_dir.'/test/plugins/vader.vim'
35

46
filetype plugin indent on
57
syntax on

scripts/init.vim

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
set runtimepath+=/testbed
2+
source /testbed/testbed.vim

scripts/rtp.vim

-3
This file was deleted.

scripts/run_vim.sh

+3-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ if ! [ -x "/vim-build/bin/$BIN" ]; then
1515
fi
1616

1717
# Set default vimrc to a visible file
18-
ARGS="-u /home/vimtest/vimrc -i NONE"
18+
ARGS="-i NONE"
1919

2020
# Run as the vimtest user (when no USER is specified in the Dockerfile, i.e.
2121
# when running as root).
@@ -27,10 +27,9 @@ if [ "$(id -u)" = 0 ]; then
2727
ARGS="$ARGS \"$1\""
2828
shift
2929
done
30-
exec su -l vimtest -c "cd /testplugin && /vim-build/bin/$BIN $ARGS"
30+
exec su -l vimtest -c "cd /testbed && /vim-build/bin/$BIN $ARGS"
3131
fi
3232

33-
cd /testplugin || exit
34-
33+
cd /testbed || exit
3534
# shellcheck disable=SC2086
3635
exec "/vim-build/bin/$BIN" "$@"

0 commit comments

Comments
 (0)