Mercurial > vim
view src/testdir/Make_dos.mak @ 7354:81dc9e30aad6 v7.4.982
commit https://github.com/vim/vim/commit/7b6156f4cd4027b664a916ba546e9b05d4c49e11
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 28 16:01:26 2015 +0100
patch 7.4.982
Problem: Keeping the list of tests updated is a hassle.
Solution: Move the list to a separate file, so that it only needs to be
udpated in one place.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 28 Dec 2015 16:15:05 +0100 |
parents | 5ac8ee7bf4ff |
children | f0eb9aa9eb32 |
line wrap: on
line source
# # Makefile to run all tests for Vim, on Dos-like machines. # # Requires a set of Unix tools: echo, diff, etc. VIMPROG = ..\\vim !include Make_all.mak # Omitted: # test2 "\\tmp" doesn't work. # test10 'errorformat' is different # test12 can't unlink a swap file # test25 uses symbolic link # test27 can't edit file with "*" in file name # test97 \{ and \$ are not escaped characters. SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE1) $(SCRIPTS_MORE3) $(SCRIPTS_MORE4) TEST_OUTFILES = $(SCRIPTS) $(SCRIPTS_WIN32) $(SCRIPTS_GUI) DOSTMP = dostmp DOSTMP_OUTFILES = $(TEST_OUTFILES:test=dostmp\test) DOSTMP_INFILES = $(DOSTMP_OUTFILES:.out=.in) .SUFFIXES: .in .out nongui: nolog $(SCRIPTS) report small: nolog report gui: nolog $(SCRIPTS) $(SCRIPTS_GUI) report win32: nolog $(SCRIPTS) $(SCRIPTS_WIN32) report # Copy the input files to dostmp, changing the fileformat to dos. $(DOSTMP_INFILES): $(*B).in if not exist $(DOSTMP)\NUL md $(DOSTMP) if exist $@ del $@ $(VIMPROG) -u dos.vim --noplugin "+set ff=dos|f $@|wq" $(*B).in # For each input file dostmp/test99.in run the tests. # This moves test99.in to test99.in.bak temporarily. $(TEST_OUTFILES): $(DOSTMP)\$(*B).in -@if exist test.out DEL test.out move $(*B).in $(*B).in.bak copy $(DOSTMP)\$(*B).in $(*B).in copy $(*B).ok test.ok $(VIMPROG) -u dos.vim -U NONE --noplugin -s dotest.in $(*B).in -@if exist test.out MOVE /y test.out $(DOSTMP)\$(*B).out -@if exist $(*B).in.bak move /y $(*B).in.bak $(*B).in -@del X* -@if exist test.ok del test.ok -@if exist Xdir1 rd /s /q Xdir1 -@if exist Xfind rd /s /q Xfind -@if exist viminfo del viminfo $(VIMPROG) -u dos.vim --noplugin "+set ff=unix|f test.out|wq" \ $(DOSTMP)\$(*B).out @diff test.out $*.ok & if errorlevel 1 \ ( move /y test.out $*.failed \ & del $(DOSTMP)\$(*B).out \ & echo $* FAILED >> test.log ) \ else ( move /y test.out $*.out ) report: @echo "" @echo Test results: @if exist test.log ( type test.log & echo TEST FAILURE & exit /b 1 ) \ else ( echo ALL DONE ) clean: -del *.out -del *.failed -if exist $(DOSTMP) rd /s /q $(DOSTMP) -if exist test.in del test.in -if exist test.ok del test.ok -if exist small.vim del small.vim -if exist tiny.vim del tiny.vim -if exist mbyte.vim del mbyte.vim -if exist mzscheme.vim del mzscheme.vim -if exist lua.vim del lua.vim -del X* -if exist Xdir1 rd /s /q Xdir1 -if exist Xfind rd /s /q Xfind -if exist viminfo del viminfo -if exist test.log del test.log -if exist benchmark.out del benchmark.out nolog: -if exist test.log del test.log benchmark: bench_re_freeze.out bench_re_freeze.out: bench_re_freeze.vim -if exist benchmark.out del benchmark.out $(VIMPROG) -u dos.vim -U NONE --noplugin $*.in @IF EXIST benchmark.out ( type benchmark.out )