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})
4+
105DOCKER = docker run -ti --rm \
116 -v $(CURDIR ) :/testbed \
7+ $(if $(TEMPDIR ) ,-v $(TEMPDIR ) :$(TEMPDIR ) ) \
128 -v $(CURDIR ) /$(PLUGINS ) :/home/testbed/.vim/plugins "$(IMAGE ) "
139
10+ test : TEMPDIR:=$(shell mktemp -d -u)
1411test : test-setup
1512 docker build -f Dockerfile.tests -t " $( IMAGE) " .
1613 set -ex; \
14+ mkdir -m 0777 $(TEMPDIR ) ; \
1715 vims=" $$ (docker run --rm $( IMAGE) ls /vim-build/bin | grep vim)" ; \
1816 if [ -z " $$ vims" ]; then echo " No Vims found!" ; exit 1; fi ; \
1917 count_vims=0; \
@@ -28,31 +26,31 @@ test: test-setup
2826 fi ; \
2927 for vim in " neovim-master --headless" vim-master; do \
3028 $(DOCKER ) $$ {vim} -u NONE \
31- " +py import sys; open('/home/vimtest /py2', 'w').write(str(sys.version_info[0]))" \
32- " +py3 import sys; open('/home/vimtest /py3', 'w').write(str(sys.version_info[0]))" \
29+ " +py import sys; open('$( TEMPDIR ) /py2', 'w').write(str(sys.version_info[0]))" \
30+ " +py3 import sys; open('$( TEMPDIR ) /py3', 'w').write(str(sys.version_info[0]))" \
3331 ' +q' ; \
34- if [ " $$ (<$( WRITABLE_HOME ) /py2)" != " 2" ]; then \
32+ if [ " $$ (<$( TEMPDIR ) /py2)" != " 2" ]; then \
3533 echo " Failed to get Python version from $$ {vim} (2)." >&2 ; exit 1; \
3634 fi ; \
37- if [ " $$ (<$( WRITABLE_HOME ) /py3)" != " 3" ]; then \
35+ if [ " $$ (<$( TEMPDIR ) /py3)" != " 3" ]; then \
3836 echo " Failed to get Python version from $$ {vim} (3)." >&2 ; exit 1; \
3937 fi ; \
40- $(RM ) $(WRITABLE_HOME ) /py* ; \
38+ $(RM ) $(TEMPDIR ) /py* ; \
4139 done ; \
4240 for vim in " neovim-master --headless" vim-master; do \
4341 $(DOCKER ) $$ {vim} -u NONE \
44- " +ruby open('/home/vimtest /ruby', 'w') { |f| f << 'ruby was here' }" \
42+ " +ruby open('$( TEMPDIR ) /ruby', 'w') { |f| f << 'ruby was here' }" \
4543 ' +q' ; \
46- if [ " $$ (<$( WRITABLE_HOME ) /ruby)" != " ruby was here" ]; then \
44+ if [ " $$ (<$( TEMPDIR ) /ruby)" != " ruby was here" ]; then \
4745 echo " Failed to get output from Ruby for $$ {vim}." >&2 ; exit 1; \
4846 fi ; \
49- $(RM ) $(WRITABLE_HOME ) /ruby; \
47+ $(RM ) $(TEMPDIR ) /ruby; \
5048 done ; \
5149 for vim in " neovim-master --headless" vim-master; do \
5250 $(DOCKER ) $$ {vim} -u NONE \
53- " +lua io.open('/home/vimtest /lua', 'w'):write('lua was here')" \
51+ " +lua io.open('$( TEMPDIR ) /lua', 'w'):write('lua was here')" \
5452 ' +q' ; \
55- if [ " $$ (<$( WRITABLE_HOME ) /lua)" != " lua was here" ]; then \
53+ if [ " $$ (<$( TEMPDIR ) /lua)" != " lua was here" ]; then \
5654 echo " Failed to get output from Lua for $$ {vim}." >&2 ; exit 1; \
5755 fi ; \
5856 done ; \
0 commit comments