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})
104DOCKER = docker run -a stderr --rm \
115 -v $(CURDIR ) :/testplugin \
12- -v $(WRITABLE_HOME ) :/home \
136 -v $(CURDIR ) /$(PLUGINS ) :/home/plugins "$(IMAGE ) "
147
8+ test : TEMPDIR:=$(shell mktemp -d -u)
159test : test-setup
1610 docker build -f Dockerfile.tests -t " $( IMAGE) " .
1711 set -ex; \
12+ mkdir -m 0777 $(TEMPDIR ) ; \
1813 vims=" $$ (docker run --rm $( IMAGE) ls /vim-build/bin | grep vim)" ; \
1914 if [ -z " $$ vims" ]; then echo " No Vims found!" ; exit 1; fi ; \
2015 count_vims=0; \
@@ -29,31 +24,31 @@ test: test-setup
2924 fi ; \
3025 for vim in " neovim-master --headless" vim-master; do \
3126 $(DOCKER ) $$ {vim} -u NONE \
32- " +py import sys; open('/home /py2', 'w').write(str(sys.version_info[0]))" \
33- " +py3 import sys; open('/home /py3', 'w').write(str(sys.version_info[0]))" \
27+ " +py import sys; open('$( TEMPDIR ) /py2', 'w').write(str(sys.version_info[0]))" \
28+ " +py3 import sys; open('$( TEMPDIR ) /py3', 'w').write(str(sys.version_info[0]))" \
3429 ' +q' ; \
35- if [ " $$ (<$( WRITABLE_HOME ) /py2)" != " 2" ]; then \
30+ if [ " $$ (<$( TEMPDIR ) /py2)" != " 2" ]; then \
3631 echo " Failed to get Python version from $$ {vim} (2)." >&2 ; exit 1; \
3732 fi ; \
38- if [ " $$ (<$( WRITABLE_HOME ) /py3)" != " 3" ]; then \
33+ if [ " $$ (<$( TEMPDIR ) /py3)" != " 3" ]; then \
3934 echo " Failed to get Python version from $$ {vim} (3)." >&2 ; exit 1; \
4035 fi ; \
41- $(RM ) $(WRITABLE_HOME ) /py* ; \
36+ $(RM ) $(TEMPDIR ) /py* ; \
4237 done ; \
4338 for vim in " neovim-master --headless" vim-master; do \
4439 $(DOCKER ) $$ {vim} -u NONE \
45- " +ruby open('/home /ruby', 'w') { |f| f << 'ruby was here' }" \
40+ " +ruby open('$( TEMPDIR ) /ruby', 'w') { |f| f << 'ruby was here' }" \
4641 ' +q' ; \
47- if [ " $$ (<$( WRITABLE_HOME ) /ruby)" != " ruby was here" ]; then \
42+ if [ " $$ (<$( TEMPDIR ) /ruby)" != " ruby was here" ]; then \
4843 echo " Failed to get output from Ruby for $$ {vim}." >&2 ; exit 1; \
4944 fi ; \
50- $(RM ) $(WRITABLE_HOME ) /ruby; \
45+ $(RM ) $(TEMPDIR ) /ruby; \
5146 done ; \
5247 for vim in " neovim-master --headless" vim-master; do \
5348 $(DOCKER ) $$ {vim} -u NONE \
54- " +lua io.open('/home /lua', 'w'):write('lua was here')" \
49+ " +lua io.open('$( TEMPDIR ) /lua', 'w'):write('lua was here')" \
5550 ' +q' ; \
56- if [ " $$ (<$( WRITABLE_HOME ) /lua)" != " lua was here" ]; then \
51+ if [ " $$ (<$( TEMPDIR ) /lua)" != " lua was here" ]; then \
5752 echo " Failed to get output from Lua for $$ {vim}." >&2 ; exit 1; \
5853 fi ; \
5954 done ; \
0 commit comments