Mercurial > vim
annotate src/testdir/Makefile @ 12779:73eb8a2d7f04 v8.0.1267
patch 8.0.1267: Test_swap_group may leave file behind
commit https://github.com/vim/vim/commit/5842a748be8039fd6d267f5557fe391c6c95399d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Nov 4 22:36:53 2017 +0100
patch 8.0.1267: Test_swap_group may leave file behind
Problem: Test_swap_group may leave file behind.
Solution: Add a try/finally.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 04 Nov 2017 22:45:06 +0100 |
parents | 15f0f9f16cd9 |
children | 2678e38e1de6 |
rev | line source |
---|---|
7 | 1 # |
1326 | 2 # Makefile to run all tests for Vim |
7 | 3 # |
4 | |
7313
2062247be2d0
commit https://github.com/vim/vim/commit/3f12a2421bda43a4e48c822541b75f72ee11125a
Christian Brabandt <cb@256bit.org>
parents:
7293
diff
changeset
|
5 # Use console or GUI. |
7 | 6 VIMPROG = ../vim |
7313
2062247be2d0
commit https://github.com/vim/vim/commit/3f12a2421bda43a4e48c822541b75f72ee11125a
Christian Brabandt <cb@256bit.org>
parents:
7293
diff
changeset
|
7 # VIMPROG = ../gvim |
2062247be2d0
commit https://github.com/vim/vim/commit/3f12a2421bda43a4e48c822541b75f72ee11125a
Christian Brabandt <cb@256bit.org>
parents:
7293
diff
changeset
|
8 |
5774 | 9 SCRIPTSOURCE = ../../runtime |
7 | 10 |
1920 | 11 # Uncomment this line to use valgrind for memory leaks and extra warnings. |
12 # The output goes into a file "valgrind.testN" | |
13 # Vim should be compiled with EXITFREE to avoid false warnings. | |
14 # This will make testing about 10 times as slow. | |
9137
8b2d6447fb6a
commit https://github.com/vim/vim/commit/af6c12c27bcb553b2fb2c8a9dcfde626fb3670fe
Christian Brabandt <cb@256bit.org>
parents:
8253
diff
changeset
|
15 # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=25 --log-file=valgrind.$* |
1357 | 16 |
7366
eec1dc8ca160
commit https://github.com/vim/vim/commit/40bbceee2213a6fa8fdc1d3f3920d61fb5370803
Christian Brabandt <cb@256bit.org>
parents:
7356
diff
changeset
|
17 default: nongui |
2607 | 18 |
7354
81dc9e30aad6
commit https://github.com/vim/vim/commit/7b6156f4cd4027b664a916ba546e9b05d4c49e11
Christian Brabandt <cb@256bit.org>
parents:
7350
diff
changeset
|
19 # The list of tests is common to all systems. |
81dc9e30aad6
commit https://github.com/vim/vim/commit/7b6156f4cd4027b664a916ba546e9b05d4c49e11
Christian Brabandt <cb@256bit.org>
parents:
7350
diff
changeset
|
20 # This defines NEW_TESTS, SCRIPTS_ALL, SCRIPTS_MORE* and SCRIPTS_GUI. |
81dc9e30aad6
commit https://github.com/vim/vim/commit/7b6156f4cd4027b664a916ba546e9b05d4c49e11
Christian Brabandt <cb@256bit.org>
parents:
7350
diff
changeset
|
21 include Make_all.mak |
81dc9e30aad6
commit https://github.com/vim/vim/commit/7b6156f4cd4027b664a916ba546e9b05d4c49e11
Christian Brabandt <cb@256bit.org>
parents:
7350
diff
changeset
|
22 |
7 | 23 |
7354
81dc9e30aad6
commit https://github.com/vim/vim/commit/7b6156f4cd4027b664a916ba546e9b05d4c49e11
Christian Brabandt <cb@256bit.org>
parents:
7350
diff
changeset
|
24 SCRIPTS = $(SCRIPTS_ALL) \ |
81dc9e30aad6
commit https://github.com/vim/vim/commit/7b6156f4cd4027b664a916ba546e9b05d4c49e11
Christian Brabandt <cb@256bit.org>
parents:
7350
diff
changeset
|
25 $(SCRIPTS_MORE1) \ |
81dc9e30aad6
commit https://github.com/vim/vim/commit/7b6156f4cd4027b664a916ba546e9b05d4c49e11
Christian Brabandt <cb@256bit.org>
parents:
7350
diff
changeset
|
26 $(SCRIPTS_MORE2) \ |
81dc9e30aad6
commit https://github.com/vim/vim/commit/7b6156f4cd4027b664a916ba546e9b05d4c49e11
Christian Brabandt <cb@256bit.org>
parents:
7350
diff
changeset
|
27 $(SCRIPTS_MORE4) |
7 | 28 |
6328 | 29 SCRIPTS_BENCH = bench_re_freeze.out |
30 | |
7277
6600871bb38c
commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
7275
diff
changeset
|
31 .SUFFIXES: .in .out .res .vim |
7 | 32 |
7356
f0eb9aa9eb32
commit https://github.com/vim/vim/commit/a60824308cd9bc192c5d38fc16cccfcf652b40f6
Christian Brabandt <cb@256bit.org>
parents:
7354
diff
changeset
|
33 nongui: nolog $(SCRIPTS_FIRST) $(SCRIPTS) newtests report |
1717 | 34 |
7356
f0eb9aa9eb32
commit https://github.com/vim/vim/commit/a60824308cd9bc192c5d38fc16cccfcf652b40f6
Christian Brabandt <cb@256bit.org>
parents:
7354
diff
changeset
|
35 gui: nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) newtests report |
7 | 36 |
6328 | 37 benchmark: $(SCRIPTS_BENCH) |
38 | |
1717 | 39 report: |
7 | 40 @echo |
1717 | 41 @echo 'Test results:' |
42 @/bin/sh -c "if test -f test.log; \ | |
43 then cat test.log; echo TEST FAILURE; exit 1; \ | |
44 else echo ALL DONE; \ | |
45 fi" | |
7 | 46 |
7356
f0eb9aa9eb32
commit https://github.com/vim/vim/commit/a60824308cd9bc192c5d38fc16cccfcf652b40f6
Christian Brabandt <cb@256bit.org>
parents:
7354
diff
changeset
|
47 $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS): $(VIMPROG) |
f0eb9aa9eb32
commit https://github.com/vim/vim/commit/a60824308cd9bc192c5d38fc16cccfcf652b40f6
Christian Brabandt <cb@256bit.org>
parents:
7354
diff
changeset
|
48 |
f0eb9aa9eb32
commit https://github.com/vim/vim/commit/a60824308cd9bc192c5d38fc16cccfcf652b40f6
Christian Brabandt <cb@256bit.org>
parents:
7354
diff
changeset
|
49 # Must run test1 first to create small.vim. |
f0eb9aa9eb32
commit https://github.com/vim/vim/commit/a60824308cd9bc192c5d38fc16cccfcf652b40f6
Christian Brabandt <cb@256bit.org>
parents:
7354
diff
changeset
|
50 $(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS): $(SCRIPTS_FIRST) |
7 | 51 |
3992 | 52 RM_ON_RUN = test.out X* viminfo |
6328 | 53 RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok benchmark.out |
10944
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
54 RUN_VIM = VIMRUNTIME=$(SCRIPTSOURCE); export VIMRUNTIME; $(VALGRIND) $(VIMPROG) -f $(GUI_FLAG) -u unix.vim $(NO_INITS) -s dotest.in |
3992 | 55 |
7 | 56 clean: |
11079
50459aeb4773
patch 8.0.0428: git and hg see new files after running tests
Christian Brabandt <cb@256bit.org>
parents:
10944
diff
changeset
|
57 -rm -rf *.out *.failed *.res *.rej *.orig opt_test.vim test.log messages $(RM_ON_RUN) $(RM_ON_START) valgrind.* |
7 | 58 |
59 test1.out: test1.in | |
5363 | 60 -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize |
3992 | 61 $(RUN_VIM) $*.in |
5702 | 62 @/bin/sh -c "if test -f wrongtermsize; \ |
5363 | 63 then echo; \ |
64 echo test1 FAILED - terminal size must be 80x24 or larger; \ | |
65 echo; exit 1; \ | |
66 elif diff test.out $*.ok; \ | |
7 | 67 then mv -f test.out $*.out; \ |
68 else echo; \ | |
69 echo test1 FAILED - Something basic is wrong; \ | |
70 echo; exit 1; fi" | |
71 -rm -rf X* viminfo | |
72 | |
73 .in.out: | |
3992 | 74 -rm -rf $*.failed test.ok $(RM_ON_RUN) |
7 | 75 cp $*.ok test.ok |
4313 | 76 # Sleep a moment to avoid that the xterm title is messed up. |
77 # 200 msec is sufficient, but only modern sleep supports a fraction of | |
78 # a second, fall back to a second if it fails. | |
79 @-/bin/sh -c "sleep .2 > /dev/null 2>&1 || sleep 1" | |
10765
82792f199f9b
patch 8.0.0272: crash on exit is not detected when running tests
Christian Brabandt <cb@256bit.org>
parents:
10100
diff
changeset
|
80 $(RUN_VIM) $*.in |
3992 | 81 |
9719
219dbe63ad2a
commit https://github.com/vim/vim/commit/89eaa4185efacab253b23a182c1c8a7bbf1096c9
Christian Brabandt <cb@256bit.org>
parents:
9137
diff
changeset
|
82 # For flaky tests retry one time. No tests at the moment. |
219dbe63ad2a
commit https://github.com/vim/vim/commit/89eaa4185efacab253b23a182c1c8a7bbf1096c9
Christian Brabandt <cb@256bit.org>
parents:
9137
diff
changeset
|
83 #@/bin/sh -c "if test -f test.out -a $* = test61; then \ |
219dbe63ad2a
commit https://github.com/vim/vim/commit/89eaa4185efacab253b23a182c1c8a7bbf1096c9
Christian Brabandt <cb@256bit.org>
parents:
9137
diff
changeset
|
84 # if diff test.out $*.ok; \ |
219dbe63ad2a
commit https://github.com/vim/vim/commit/89eaa4185efacab253b23a182c1c8a7bbf1096c9
Christian Brabandt <cb@256bit.org>
parents:
9137
diff
changeset
|
85 # then echo flaky test ok first time; \ |
219dbe63ad2a
commit https://github.com/vim/vim/commit/89eaa4185efacab253b23a182c1c8a7bbf1096c9
Christian Brabandt <cb@256bit.org>
parents:
9137
diff
changeset
|
86 # else rm -rf $*.failed $(RM_ON_RUN); \ |
219dbe63ad2a
commit https://github.com/vim/vim/commit/89eaa4185efacab253b23a182c1c8a7bbf1096c9
Christian Brabandt <cb@256bit.org>
parents:
9137
diff
changeset
|
87 # $(RUN_VIM) $*.in; \ |
219dbe63ad2a
commit https://github.com/vim/vim/commit/89eaa4185efacab253b23a182c1c8a7bbf1096c9
Christian Brabandt <cb@256bit.org>
parents:
9137
diff
changeset
|
88 # fi \ |
219dbe63ad2a
commit https://github.com/vim/vim/commit/89eaa4185efacab253b23a182c1c8a7bbf1096c9
Christian Brabandt <cb@256bit.org>
parents:
9137
diff
changeset
|
89 # fi" |
3992 | 90 |
91 # Check if the test.out file matches test.ok. | |
4444 | 92 @/bin/sh -c "if test -f test.out; then \ |
169 | 93 if diff test.out $*.ok; \ |
94 then mv -f test.out $*.out; \ | |
95 else echo $* FAILED >>test.log; mv -f test.out $*.failed; \ | |
96 fi \ | |
97 else echo $* NO OUTPUT >>test.log; \ | |
7 | 98 fi" |
4444 | 99 @/bin/sh -c "if test -f valgrind; then\ |
100 mv -f valgrind valgrind.$*; \ | |
101 fi" | |
3855 | 102 -rm -rf X* test.ok viminfo |
7 | 103 |
6328 | 104 bench_re_freeze.out: bench_re_freeze.vim |
105 -rm -rf benchmark.out $(RM_ON_RUN) | |
106 # Sleep a moment to avoid that the xterm title is messed up. | |
107 # 200 msec is sufficient, but only modern sleep supports a fraction of | |
108 # a second, fall back to a second if it fails. | |
109 @-/bin/sh -c "sleep .2 > /dev/null 2>&1 || sleep 1" | |
10765
82792f199f9b
patch 8.0.0272: crash on exit is not detected when running tests
Christian Brabandt <cb@256bit.org>
parents:
10100
diff
changeset
|
110 $(RUN_VIM) $*.in |
6328 | 111 @/bin/sh -c "if test -f benchmark.out; then cat benchmark.out; fi" |
112 | |
7 | 113 nolog: |
7372
6b057079a836
commit https://github.com/vim/vim/commit/096c8bb40d51b22a4b1d761baf7bb79fb9e55a28
Christian Brabandt <cb@256bit.org>
parents:
7366
diff
changeset
|
114 -rm -f test.log messages |
7277
6600871bb38c
commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
7275
diff
changeset
|
115 |
6600871bb38c
commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
7275
diff
changeset
|
116 |
6600871bb38c
commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
7275
diff
changeset
|
117 # New style of tests uses Vim script with assert calls. These are easier |
6600871bb38c
commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
7275
diff
changeset
|
118 # to write and a lot easier to read and debug. |
6600871bb38c
commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
7275
diff
changeset
|
119 # Limitation: Only works with the +eval feature. |
10944
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
120 RUN_VIMTEST = VIMRUNTIME=$(SCRIPTSOURCE); export VIMRUNTIME; $(VALGRIND) $(VIMPROG) -f $(GUI_FLAG) -u unix.vim |
7277
6600871bb38c
commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
7275
diff
changeset
|
121 |
7506
cfc0d60f6233
commit https://github.com/vim/vim/commit/e7893a4088d6ea796bcab6195d232cb26c12c317
Christian Brabandt <cb@256bit.org>
parents:
7372
diff
changeset
|
122 newtests: newtestssilent |
10100
26441931dad7
commit https://github.com/vim/vim/commit/dac1947bb366ef43cd6da95acc730554e76d8b84
Christian Brabandt <cb@256bit.org>
parents:
9778
diff
changeset
|
123 @/bin/sh -c "if test -f messages && grep -q 'SKIPPED\|FAILED' messages; then cat messages && if test -f test.log; then cat test.log; fi ; fi" |
7506
cfc0d60f6233
commit https://github.com/vim/vim/commit/e7893a4088d6ea796bcab6195d232cb26c12c317
Christian Brabandt <cb@256bit.org>
parents:
7372
diff
changeset
|
124 |
cfc0d60f6233
commit https://github.com/vim/vim/commit/e7893a4088d6ea796bcab6195d232cb26c12c317
Christian Brabandt <cb@256bit.org>
parents:
7372
diff
changeset
|
125 newtestssilent: $(NEW_TESTS) |
cfc0d60f6233
commit https://github.com/vim/vim/commit/e7893a4088d6ea796bcab6195d232cb26c12c317
Christian Brabandt <cb@256bit.org>
parents:
7372
diff
changeset
|
126 |
7277
6600871bb38c
commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
7275
diff
changeset
|
127 |
12602
9359ed49d375
patch 8.0.1179: Test_popup_and_window_resize() does not always pass
Christian Brabandt <cb@256bit.org>
parents:
11119
diff
changeset
|
128 .vim.res: writevimcmd |
9359ed49d375
patch 8.0.1179: Test_popup_and_window_resize() does not always pass
Christian Brabandt <cb@256bit.org>
parents:
11119
diff
changeset
|
129 @echo "$(VIMPROG)" > vimcmd |
9359ed49d375
patch 8.0.1179: Test_popup_and_window_resize() does not always pass
Christian Brabandt <cb@256bit.org>
parents:
11119
diff
changeset
|
130 @echo "$(RUN_VIMTEST)" >> vimcmd |
10944
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
131 $(RUN_VIMTEST) $(NO_INITS) -S runtest.vim $*.vim |
9778
4360b2b46125
commit https://github.com/vim/vim/commit/66459b7c98c67f8a9d39de8f08e8e8f1fca0e359
Christian Brabandt <cb@256bit.org>
parents:
9719
diff
changeset
|
132 @rm vimcmd |
10944
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
133 |
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
134 test_gui.res: test_gui.vim |
12602
9359ed49d375
patch 8.0.1179: Test_popup_and_window_resize() does not always pass
Christian Brabandt <cb@256bit.org>
parents:
11119
diff
changeset
|
135 @echo "$(VIMPROG)" > vimcmd |
9359ed49d375
patch 8.0.1179: Test_popup_and_window_resize() does not always pass
Christian Brabandt <cb@256bit.org>
parents:
11119
diff
changeset
|
136 @echo "$(RUN_GVIMTEST)" >> vimcmd |
10944
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
137 $(RUN_VIMTEST) -u NONE $(NO_INITS) -S runtest.vim $< |
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
138 @rm vimcmd |
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
139 |
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
140 test_gui_init.res: test_gui_init.vim |
12602
9359ed49d375
patch 8.0.1179: Test_popup_and_window_resize() does not always pass
Christian Brabandt <cb@256bit.org>
parents:
11119
diff
changeset
|
141 @echo "$(VIMPROG)" > vimcmd |
9359ed49d375
patch 8.0.1179: Test_popup_and_window_resize() does not always pass
Christian Brabandt <cb@256bit.org>
parents:
11119
diff
changeset
|
142 @echo "$(RUN_GVIMTEST_WITH_GVIMRC)" >> vimcmd |
11119
d8a550329a97
patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents:
11083
diff
changeset
|
143 $(RUN_VIMTEST) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $< |
10944
4e2cdce4576c
patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
10765
diff
changeset
|
144 @rm vimcmd |
11079
50459aeb4773
patch 8.0.0428: git and hg see new files after running tests
Christian Brabandt <cb@256bit.org>
parents:
10944
diff
changeset
|
145 |
50459aeb4773
patch 8.0.0428: git and hg see new files after running tests
Christian Brabandt <cb@256bit.org>
parents:
10944
diff
changeset
|
146 opt_test.vim: ../option.c gen_opt_test.vim |
11083
ae86651164d7
patch 8.0.0430: options test fails or hangs on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11081
diff
changeset
|
147 $(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../option.c |