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 : build $(PLUGINS ) /vader.vim
1512test : test_vim71_with_profiling_enabled
1613test :
1714 set -ex; \
15+ mkdir -m 0777 $(TEMPDIR ) ; \
1816 vims=" $$ (docker run --rm $( IMAGE) ls /vim-build/bin | grep vim)" ; \
1917 if [ -z " $$ vims" ]; then echo " No Vims found!" ; exit 1; fi ; \
2018 count_vims=0; \
@@ -29,31 +27,31 @@ test:
2927 fi ; \
3028 for vim in " neovim-master --headless" vim-master; do \
3129 $(DOCKER ) $$ {vim} -u NONE \
32- " +py import sys; open('/home/vimtest /py2', 'w').write(str(sys.version_info[0]))" \
33- " +py3 import sys; open('/home/vimtest /py3', 'w').write(str(sys.version_info[0]))" \
30+ " +py import sys; open('$( TEMPDIR ) /py2', 'w').write(str(sys.version_info[0]))" \
31+ " +py3 import sys; open('$( TEMPDIR ) /py3', 'w').write(str(sys.version_info[0]))" \
3432 ' +q' ; \
35- if [ " $$ (<$( WRITABLE_HOME ) /py2)" != " 2" ]; then \
33+ if [ " $$ (<$( TEMPDIR ) /py2)" != " 2" ]; then \
3634 echo " Failed to get Python version from $$ {vim} (2)." >&2 ; exit 1; \
3735 fi ; \
38- if [ " $$ (<$( WRITABLE_HOME ) /py3)" != " 3" ]; then \
36+ if [ " $$ (<$( TEMPDIR ) /py3)" != " 3" ]; then \
3937 echo " Failed to get Python version from $$ {vim} (3)." >&2 ; exit 1; \
4038 fi ; \
41- $(RM ) $(WRITABLE_HOME ) /py* ; \
39+ $(RM ) $(TEMPDIR ) /py* ; \
4240 done ; \
4341 for vim in " neovim-master --headless" vim-master; do \
4442 $(DOCKER ) $$ {vim} -u NONE \
45- " +ruby open('/home/vimtest /ruby', 'w') { |f| f << 'ruby was here' }" \
43+ " +ruby open('$( TEMPDIR ) /ruby', 'w') { |f| f << 'ruby was here' }" \
4644 ' +q' ; \
47- if [ " $$ (<$( WRITABLE_HOME ) /ruby)" != " ruby was here" ]; then \
45+ if [ " $$ (<$( TEMPDIR ) /ruby)" != " ruby was here" ]; then \
4846 echo " Failed to get output from Ruby for $$ {vim}." >&2 ; exit 1; \
4947 fi ; \
50- $(RM ) $(WRITABLE_HOME ) /ruby; \
48+ $(RM ) $(TEMPDIR ) /ruby; \
5149 done ; \
5250 for vim in " neovim-master --headless" vim-master; do \
5351 $(DOCKER ) $$ {vim} -u NONE \
54- " +lua io.open('/home/vimtest /lua', 'w'):write('lua was here')" \
52+ " +lua io.open('$( TEMPDIR ) /lua', 'w'):write('lua was here')" \
5553 ' +q' ; \
56- if [ " $$ (<$( WRITABLE_HOME ) /lua)" != " lua was here" ]; then \
54+ if [ " $$ (<$( TEMPDIR ) /lua)" != " lua was here" ]; then \
5755 echo " Failed to get output from Lua for $$ {vim}." >&2 ; exit 1; \
5856 fi ; \
5957 done ; \
0 commit comments