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 -u)
1711test : test-setup
1812 docker build -f Dockerfile.tests -t " $( IMAGE) " .
1913 set -ex; \
14+ mkdir -m 0777 $(TEMPDIR ) ; \
2015 vims=" $$ (docker run --rm $( IMAGE) ls /vim-build/bin | grep vim)" ; \
2116 if [ -z " $$ vims" ]; then echo " No Vims found!" ; exit 1; fi ; \
2217 count_vims=0; \
@@ -31,31 +26,31 @@ test: test-setup
3126 fi ; \
3227 for vim in " neovim-master --headless" vim-master; do \
3328 $(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]))" \
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]))" \
3631 ' +q' ; \
37- if [ " $$ (<$( WRITABLE_HOME ) /py2)" != " 2" ]; then \
32+ if [ " $$ (<$( TEMPDIR ) /py2)" != " 2" ]; then \
3833 echo " Failed to get Python version from $$ {vim} (2)." >&2 ; exit 1; \
3934 fi ; \
40- if [ " $$ (<$( WRITABLE_HOME ) /py3)" != " 3" ]; then \
35+ if [ " $$ (<$( TEMPDIR ) /py3)" != " 3" ]; then \
4136 echo " Failed to get Python version from $$ {vim} (3)." >&2 ; exit 1; \
4237 fi ; \
43- $(RM ) $(WRITABLE_HOME ) /py* ; \
38+ $(RM ) $(TEMPDIR ) /py* ; \
4439 done ; \
4540 for vim in " neovim-master --headless" vim-master; do \
4641 $(DOCKER ) $$ {vim} -u NONE \
47- " +ruby open('/home /ruby', 'w') { |f| f << 'ruby was here' }" \
42+ " +ruby open('$( TEMPDIR ) /ruby', 'w') { |f| f << 'ruby was here' }" \
4843 ' +q' ; \
49- if [ " $$ (<$( WRITABLE_HOME ) /ruby)" != " ruby was here" ]; then \
44+ if [ " $$ (<$( TEMPDIR ) /ruby)" != " ruby was here" ]; then \
5045 echo " Failed to get output from Ruby for $$ {vim}." >&2 ; exit 1; \
5146 fi ; \
52- $(RM ) $(WRITABLE_HOME ) /ruby; \
47+ $(RM ) $(TEMPDIR ) /ruby; \
5348 done ; \
5449 for vim in " neovim-master --headless" vim-master; do \
5550 $(DOCKER ) $$ {vim} -u NONE \
56- " +lua io.open('/home /lua', 'w'):write('lua was here')" \
51+ " +lua io.open('$( TEMPDIR ) /lua', 'w'):write('lua was here')" \
5752 ' +q' ; \
58- if [ " $$ (<$( WRITABLE_HOME ) /lua)" != " lua was here" ]; then \
53+ if [ " $$ (<$( TEMPDIR ) /lua)" != " lua was here" ]; then \
5954 echo " Failed to get output from Lua for $$ {vim}." >&2 ; exit 1; \
6055 fi ; \
6156 done ; \
0 commit comments