11SHELL := $(shell which bash)
22IMAGE := vim-testbed-example
33PLUGINS := test/plugins
4- # A writable home directory, required for Neovim.
5- WRITABLE_HOME: =$(shell tmpdir=$$(mktemp -d --dry-run ) ; \
6- mkdir -m 777 $${tmpdir}; \
7- cd $(CURDIR ) /test; \
8- cp -a vimrc * .vader $${tmpdir}/; \
9- echo $${tmpdir})
10- TODO : remove/unneeded by now?!
11- # -v $(WRITABLE_HOME):/home/testbed \
124
135DOCKER = docker run -ti --rm \
146 -v $(CURDIR ) :/testbed \
7+ $(if $(TEMPDIR ) ,-v $(TEMPDIR ) :$(TEMPDIR ) ) \
158 -v $(CURDIR ) /$(PLUGINS ) :/home/testbed/.vim/plugins "$(IMAGE ) "
169
10+ test : TEMPDIR:=$(shell mktemp -d)
1711test : test-setup
1812 docker build -f Dockerfile.tests -t " $( IMAGE) " .
1913 set -ex; \
@@ -31,31 +25,31 @@ test: test-setup
3125 fi ; \
3226 for vim in " neovim-master --headless" vim-master; do \
3327 $(DOCKER ) $$ {vim} -u NONE \
34- " +py import sys; open('/home /py2', 'w').write(str(sys.version_info[0]))" \
35- " +py3 import sys; open('/home /py3', 'w').write(str(sys.version_info[0]))" \
28+ " +py import sys; open('$( TEMPDIR ) /py2', 'w').write(str(sys.version_info[0]))" \
29+ " +py3 import sys; open('$( TEMPDIR ) /py3', 'w').write(str(sys.version_info[0]))" \
3630 ' +q' ; \
37- if [ " $$ (<$( WRITABLE_HOME ) /py2)" != " 2" ]; then \
31+ if [ " $$ (<$( TEMPDIR ) /py2)" != " 2" ]; then \
3832 echo " Failed to get Python version from $$ {vim} (2)." >&2 ; exit 1; \
3933 fi ; \
40- if [ " $$ (<$( WRITABLE_HOME ) /py3)" != " 3" ]; then \
34+ if [ " $$ (<$( TEMPDIR ) /py3)" != " 3" ]; then \
4135 echo " Failed to get Python version from $$ {vim} (3)." >&2 ; exit 1; \
4236 fi ; \
43- $(RM ) $(WRITABLE_HOME ) /py* ; \
37+ $(RM ) $(TEMPDIR ) /py* ; \
4438 done ; \
4539 for vim in " neovim-master --headless" vim-master; do \
4640 $(DOCKER ) $$ {vim} -u NONE \
47- " +ruby open('/home /ruby', 'w') { |f| f << 'ruby was here' }" \
41+ " +ruby open('$( TEMPDIR ) /ruby', 'w') { |f| f << 'ruby was here' }" \
4842 ' +q' ; \
49- if [ " $$ (<$( WRITABLE_HOME ) /ruby)" != " ruby was here" ]; then \
43+ if [ " $$ (<$( TEMPDIR ) /ruby)" != " ruby was here" ]; then \
5044 echo " Failed to get output from Ruby for $$ {vim}." >&2 ; exit 1; \
5145 fi ; \
52- $(RM ) $(WRITABLE_HOME ) /ruby; \
46+ $(RM ) $(TEMPDIR ) /ruby; \
5347 done ; \
5448 for vim in " neovim-master --headless" vim-master; do \
5549 $(DOCKER ) $$ {vim} -u NONE \
56- " +lua io.open('/home /lua', 'w'):write('lua was here')" \
50+ " +lua io.open('$( TEMPDIR ) /lua', 'w'):write('lua was here')" \
5751 ' +q' ; \
58- if [ " $$ (<$( WRITABLE_HOME ) /lua)" != " lua was here" ]; then \
52+ if [ " $$ (<$( TEMPDIR ) /lua)" != " lua was here" ]; then \
5953 echo " Failed to get output from Lua for $$ {vim}." >&2 ; exit 1; \
6054 fi ; \
6155 done ; \
0 commit comments