Bram Moolenaar | 6839272 | 2010-07-30 22:04:17 +0200 | [diff] [blame] | 1 | # |
| 2 | # Makefile to run all tests for Vim, on Dos-like machines |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 3 | # with sh.exe or zsh.exe in the path or not. |
| 4 | # |
| 5 | # Author: Bill McCarthy |
| 6 | # |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 7 | # Requires a set of Unix tools: echo, diff, etc. |
| 8 | |
| 9 | ifneq (sh.exe, $(SHELL)) |
| 10 | DEL = rm -f |
Bram Moolenaar | acf92d2 | 2016-01-02 16:00:20 +0100 | [diff] [blame] | 11 | DELDIR = rm -rf |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 12 | MV = mv |
| 13 | CP = cp |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 14 | CAT = cat |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 15 | DIRSLASH = / |
| 16 | else |
| 17 | DEL = del |
Bram Moolenaar | acf92d2 | 2016-01-02 16:00:20 +0100 | [diff] [blame] | 18 | DELDIR = rd /s /q |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 19 | MV = rename |
| 20 | CP = copy |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 21 | CAT = type |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 22 | DIRSLASH = \\ |
| 23 | endif |
| 24 | |
| 25 | VIMPROG = ..$(DIRSLASH)vim |
| 26 | |
Bram Moolenaar | 40bbcee | 2015-12-28 22:24:41 +0100 | [diff] [blame] | 27 | default: vimall |
| 28 | |
Bram Moolenaar | 7b6156f | 2015-12-28 16:01:26 +0100 | [diff] [blame] | 29 | include Make_all.mak |
| 30 | |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 31 | # Omitted: |
| 32 | # test2 "\\tmp" doesn't work. |
| 33 | # test10 'errorformat' is different |
Bram Moolenaar | 7b6156f | 2015-12-28 16:01:26 +0100 | [diff] [blame] | 34 | # test97 \{ and \$ are not escaped characters |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 35 | |
Bram Moolenaar | 7b6156f | 2015-12-28 16:01:26 +0100 | [diff] [blame] | 36 | SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE1) $(SCRIPTS_MORE4) $(SCRIPTS_WIN32) |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 37 | |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 38 | SCRIPTS_BENCH = bench_re_freeze.out |
| 39 | |
Bram Moolenaar | a608243 | 2015-12-28 16:26:45 +0100 | [diff] [blame] | 40 | # Must run test1 first to create small.vim. |
| 41 | $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS): $(SCRIPTS_FIRST) |
| 42 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 43 | .SUFFIXES: .in .out .res .vim |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 44 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 45 | vimall: fixff $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) newtests |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 46 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 47 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 48 | nongui: fixff nolog $(SCRIPTS_FIRST) $(SCRIPTS) newtests |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 49 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 50 | |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 51 | benchmark: $(SCRIPTS_BENCH) |
| 52 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 53 | small: nolog |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 54 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 55 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 56 | gui: fixff nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) newtests |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 57 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 58 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 59 | win32: fixff nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32) newtests |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 60 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 61 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 62 | # TODO: find a way to avoid changing the distributed files. |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 63 | fixff: |
Bram Moolenaar | 8be2fbb | 2017-02-23 19:32:47 +0100 | [diff] [blame] | 64 | -$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=dos|upd" +q *.in *.ok |
| 65 | -$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=unix|upd" +q \ |
Bram Moolenaar | a703aae | 2017-12-11 22:55:26 +0100 | [diff] [blame^] | 66 | dotest.in |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 67 | |
| 68 | clean: |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 69 | -@if exist *.out $(DEL) *.out |
| 70 | -@if exist *.failed $(DEL) *.failed |
| 71 | -@if exist *.res $(DEL) *.res |
| 72 | -@if exist test.in $(DEL) test.in |
| 73 | -@if exist test.ok $(DEL) test.ok |
| 74 | -@if exist small.vim $(DEL) small.vim |
| 75 | -@if exist tiny.vim $(DEL) tiny.vim |
| 76 | -@if exist mbyte.vim $(DEL) mbyte.vim |
| 77 | -@if exist mzscheme.vim $(DEL) mzscheme.vim |
| 78 | -@if exist lua.vim $(DEL) lua.vim |
| 79 | -@if exist Xdir1 $(DELDIR) Xdir1 |
| 80 | -@if exist Xfind $(DELDIR) Xfind |
Bram Moolenaar | 30fe886 | 2017-07-29 23:01:57 +0200 | [diff] [blame] | 81 | -@if exist XfakeHOME $(DELDIR) XfakeHOME |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 82 | -@if exist X* $(DEL) X* |
| 83 | -@if exist viminfo $(DEL) viminfo |
| 84 | -@if exist test.log $(DEL) test.log |
| 85 | -@if exist messages $(DEL) messages |
Bram Moolenaar | 65408f7 | 2017-03-07 21:31:27 +0100 | [diff] [blame] | 86 | -@if exist opt_test.vim $(DEL) opt_test.vim |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 87 | |
| 88 | .in.out: |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 89 | -@if exist $*.ok $(CP) $*.ok test.ok |
Bram Moolenaar | 8be2fbb | 2017-02-23 19:32:47 +0100 | [diff] [blame] | 90 | $(VIMPROG) -u dos.vim $(NO_INITS) -s dotest.in $*.in |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 91 | @diff test.out $*.ok |
| 92 | -@if exist $*.out $(DEL) $*.out |
| 93 | @$(MV) test.out $*.out |
| 94 | -@if exist Xdir1 $(DELDIR) Xdir1 |
| 95 | -@if exist Xfind $(DELDIR) Xfind |
Bram Moolenaar | 30fe886 | 2017-07-29 23:01:57 +0200 | [diff] [blame] | 96 | -@if exist XfakeHOME $(DELDIR) XfakeHOME |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 97 | -@if exist X* $(DEL) X* |
| 98 | -@if exist test.ok $(DEL) test.ok |
| 99 | -@if exist viminfo $(DEL) viminfo |
| 100 | |
| 101 | nolog: |
| 102 | -@if exist test.log $(DEL) test.log |
| 103 | -@if exist messages $(DEL) messages |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 104 | |
| 105 | bench_re_freeze.out: bench_re_freeze.vim |
| 106 | -$(DEL) benchmark.out |
Bram Moolenaar | 8be2fbb | 2017-02-23 19:32:47 +0100 | [diff] [blame] | 107 | $(VIMPROG) -u dos.vim $(NO_INITS) $*.in |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 108 | $(CAT) benchmark.out |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 109 | |
| 110 | # New style of tests uses Vim script with assert calls. These are easier |
| 111 | # to write and a lot easier to read and debug. |
| 112 | # Limitation: Only works with the +eval feature. |
| 113 | |
| 114 | newtests: $(NEW_TESTS) |
| 115 | |
| 116 | .vim.res: |
Bram Moolenaar | 4635e11 | 2017-10-07 21:05:18 +0200 | [diff] [blame] | 117 | @echo $(VIMPROG) > vimcmd |
Bram Moolenaar | 8be2fbb | 2017-02-23 19:32:47 +0100 | [diff] [blame] | 118 | $(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim |
| 119 | @$(DEL) vimcmd |
| 120 | |
| 121 | test_gui.res: test_gui.vim |
Bram Moolenaar | 4635e11 | 2017-10-07 21:05:18 +0200 | [diff] [blame] | 122 | @echo $(VIMPROG) > vimcmd |
Bram Moolenaar | 8be2fbb | 2017-02-23 19:32:47 +0100 | [diff] [blame] | 123 | $(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $< |
| 124 | @$(DEL) vimcmd |
| 125 | |
| 126 | test_gui_init.res: test_gui_init.vim |
Bram Moolenaar | 4635e11 | 2017-10-07 21:05:18 +0200 | [diff] [blame] | 127 | @echo $(VIMPROG) > vimcmd |
Bram Moolenaar | 84be8b6 | 2017-03-13 22:41:42 +0100 | [diff] [blame] | 128 | $(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $< |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 129 | @$(DEL) vimcmd |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 130 | |
Bram Moolenaar | 65408f7 | 2017-03-07 21:31:27 +0100 | [diff] [blame] | 131 | opt_test.vim: ../option.c gen_opt_test.vim |
Bram Moolenaar | bb96226 | 2017-03-08 00:01:35 +0100 | [diff] [blame] | 132 | $(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../option.c |