Skip to content

Commit bda9cce

Browse files
committed
WIP: improve testplugin setup
Fixes Vimjas#8
1 parent f90a0ba commit bda9cce

File tree

6 files changed

+19
-32
lines changed

6 files changed

+19
-32
lines changed

Dockerfile

+9-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
FROM alpine:3.5
22

3-
RUN adduser -h /home -s /bin/sh -D -u 8465 vimtest
3+
RUN adduser -h /home/testbed -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/testbed/.vim /home/testbed/.config
15+
ADD scripts/init.vim /home/testbed/.vim/
16+
RUN ln -s ../.vim /home/testbed/.config/nvim
17+
RUN ln -s .vim/init.vim /home/testbed/.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
20-
VOLUME /home
22+
VOLUME /home/testbed
2123

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

2527
ENTRYPOINT ["/sbin/run_vim"]

example/Makefile

+6-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ 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 \
13-
-v $(CURDIR)/$(PLUGINS):/home/plugins "$(IMAGE)"
10+
TODO: remove/unneeded by now?!
11+
# -v $(WRITABLE_HOME):/home/testbed \
12+
13+
DOCKER = docker run -ti --rm \
14+
-v $(CURDIR):/testbed \
15+
-v $(CURDIR)/$(PLUGINS):/home/testbed/.vim/plugins "$(IMAGE)"
1416

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

example/test/vimrc

-16
This file was deleted.

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ if ! [ -x "/vim-build/bin/$BIN" ]; then
1111
fi
1212

1313
# Set default vimrc to a visible file
14-
ARGS="-u /home/vimrc -i NONE"
14+
ARGS="-i NONE"
1515

1616
# So we can pass the arguments to Vim as it was passed to this script
1717
while [ $# -gt 0 ]; do
@@ -21,4 +21,4 @@ done
2121

2222
# Run as the vimtest user. This is not really for security. It is for running
2323
# Vim as a user that's unable to write to your volume.
24-
exec su -l vimtest -c "cd /testplugin && /vim-build/bin/$BIN $ARGS"
24+
exec su -l vimtest -c "cd /testbed && env VIM_TESTBED=1 /vim-build/bin/$BIN $ARGS"

0 commit comments

Comments
 (0)