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 | ad48e6c | 2020-04-21 22:19:45 +0200 | [diff] [blame] | 31 | SCRIPTS_BENCH = test_bench_regexp.res |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 32 | |
Bram Moolenaar | a608243 | 2015-12-28 16:26:45 +0100 | [diff] [blame] | 33 | # Must run test1 first to create small.vim. |
Bram Moolenaar | f7c4d83 | 2020-08-11 20:42:19 +0200 | [diff] [blame^] | 34 | $(NEW_TESTS_RES): $(SCRIPTS_FIRST) |
Bram Moolenaar | a608243 | 2015-12-28 16:26:45 +0100 | [diff] [blame] | 35 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 36 | .SUFFIXES: .in .out .res .vim |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 37 | |
Bram Moolenaar | f7c4d83 | 2020-08-11 20:42:19 +0200 | [diff] [blame^] | 38 | vimall: fixff $(SCRIPTS_FIRST) newtests |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 39 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 40 | |
Bram Moolenaar | f7c4d83 | 2020-08-11 20:42:19 +0200 | [diff] [blame^] | 41 | nongui: fixff nolog $(SCRIPTS_FIRST) newtests |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 42 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 43 | |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 44 | benchmark: $(SCRIPTS_BENCH) |
| 45 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 46 | small: nolog |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 47 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 48 | |
Bram Moolenaar | f7c4d83 | 2020-08-11 20:42:19 +0200 | [diff] [blame^] | 49 | gui: fixff nolog $(SCRIPTS_FIRST) newtests |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 50 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 51 | |
Bram Moolenaar | f7c4d83 | 2020-08-11 20:42:19 +0200 | [diff] [blame^] | 52 | win32: fixff nolog $(SCRIPTS_FIRST) newtests |
Bram Moolenaar | 5b4a376 | 2016-08-06 20:36:34 +0200 | [diff] [blame] | 53 | @echo ALL DONE |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 54 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 55 | # TODO: find a way to avoid changing the distributed files. |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 56 | fixff: |
Bram Moolenaar | 8be2fbb | 2017-02-23 19:32:47 +0100 | [diff] [blame] | 57 | -$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=dos|upd" +q *.in *.ok |
| 58 | -$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=unix|upd" +q \ |
Bram Moolenaar | a703aae | 2017-12-11 22:55:26 +0100 | [diff] [blame] | 59 | dotest.in |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 60 | |
| 61 | clean: |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 62 | -@if exist *.out $(DEL) *.out |
| 63 | -@if exist *.failed $(DEL) *.failed |
| 64 | -@if exist *.res $(DEL) *.res |
| 65 | -@if exist test.in $(DEL) test.in |
| 66 | -@if exist test.ok $(DEL) test.ok |
| 67 | -@if exist small.vim $(DEL) small.vim |
| 68 | -@if exist tiny.vim $(DEL) tiny.vim |
| 69 | -@if exist mbyte.vim $(DEL) mbyte.vim |
| 70 | -@if exist mzscheme.vim $(DEL) mzscheme.vim |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 71 | -@if exist Xdir1 $(DELDIR) Xdir1 |
| 72 | -@if exist Xfind $(DELDIR) Xfind |
Bram Moolenaar | 30fe886 | 2017-07-29 23:01:57 +0200 | [diff] [blame] | 73 | -@if exist XfakeHOME $(DELDIR) XfakeHOME |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 74 | -@if exist X* $(DEL) X* |
| 75 | -@if exist viminfo $(DEL) viminfo |
| 76 | -@if exist test.log $(DEL) test.log |
| 77 | -@if exist messages $(DEL) messages |
Bram Moolenaar | 65408f7 | 2017-03-07 21:31:27 +0100 | [diff] [blame] | 78 | -@if exist opt_test.vim $(DEL) opt_test.vim |
Bram Moolenaar | 34b6cb1 | 2008-09-20 14:27:03 +0000 | [diff] [blame] | 79 | |
Bram Moolenaar | fb1199d | 2019-01-24 12:18:46 +0100 | [diff] [blame] | 80 | test1.out: test1.in |
| 81 | -@if exist wrongtermsize $(DEL) wrongtermsize |
| 82 | $(VIMPROG) -u dos.vim $(NO_INITS) -s dotest.in test1.in |
| 83 | -@if exist wrongtermsize ( \ |
| 84 | echo Vim window too small- must be 80x25 or larger && exit 1 \ |
| 85 | ) |
| 86 | -@if exist test.out $(DEL) test.out |
| 87 | -@if exist viminfo $(DEL) viminfo |
| 88 | |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 89 | nolog: |
| 90 | -@if exist test.log $(DEL) test.log |
| 91 | -@if exist messages $(DEL) messages |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 92 | |
Bram Moolenaar | ad48e6c | 2020-04-21 22:19:45 +0200 | [diff] [blame] | 93 | test_bench_regexp.res: test_bench_regexp.vim |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 94 | -$(DEL) benchmark.out |
Bram Moolenaar | ad48e6c | 2020-04-21 22:19:45 +0200 | [diff] [blame] | 95 | @echo $(VIMPROG) > vimcmd |
| 96 | $(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim |
| 97 | @$(DEL) vimcmd |
Bram Moolenaar | fda3729 | 2014-11-05 14:27:36 +0100 | [diff] [blame] | 98 | $(CAT) benchmark.out |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 99 | |
| 100 | # New style of tests uses Vim script with assert calls. These are easier |
| 101 | # to write and a lot easier to read and debug. |
| 102 | # Limitation: Only works with the +eval feature. |
| 103 | |
Bram Moolenaar | ec50401 | 2019-01-11 17:30:16 +0100 | [diff] [blame] | 104 | newtests: $(NEW_TESTS_RES) |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 105 | |
| 106 | .vim.res: |
Bram Moolenaar | 4635e11 | 2017-10-07 21:05:18 +0200 | [diff] [blame] | 107 | @echo $(VIMPROG) > vimcmd |
Bram Moolenaar | 8be2fbb | 2017-02-23 19:32:47 +0100 | [diff] [blame] | 108 | $(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim |
| 109 | @$(DEL) vimcmd |
| 110 | |
| 111 | test_gui.res: test_gui.vim |
Bram Moolenaar | 4635e11 | 2017-10-07 21:05:18 +0200 | [diff] [blame] | 112 | @echo $(VIMPROG) > vimcmd |
Bram Moolenaar | 8be2fbb | 2017-02-23 19:32:47 +0100 | [diff] [blame] | 113 | $(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $< |
| 114 | @$(DEL) vimcmd |
| 115 | |
| 116 | test_gui_init.res: test_gui_init.vim |
Bram Moolenaar | 4635e11 | 2017-10-07 21:05:18 +0200 | [diff] [blame] | 117 | @echo $(VIMPROG) > vimcmd |
Bram Moolenaar | 84be8b6 | 2017-03-13 22:41:42 +0100 | [diff] [blame] | 118 | $(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] | 119 | @$(DEL) vimcmd |
Bram Moolenaar | 9bd3186 | 2016-06-13 22:58:39 +0200 | [diff] [blame] | 120 | |
Bram Moolenaar | 46fd6bf | 2019-01-11 19:19:44 +0100 | [diff] [blame] | 121 | test_options.res test_alot.res: opt_test.vim |
| 122 | |
Bram Moolenaar | d9b0d83 | 2019-09-14 15:46:32 +0200 | [diff] [blame] | 123 | opt_test.vim: ../optiondefs.h gen_opt_test.vim |
| 124 | $(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../optiondefs.h |