view src/testdir/Make_dos.mak @ 7068:a55f35ed381b v7.4.846

commit https://github.com/vim/vim/commit/6017f3799dbb744fc34894d968b36729e607203e Author: Bram Moolenaar <Bram@vim.org> Date: Tue Sep 1 17:50:48 2015 +0200 patch 7.4.846 Problem: Some GitHub users don't know how to use issues. Solution: Add a file that explains the basics of contributing.
author Christian Brabandt <cb@256bit.org>
date Tue, 01 Sep 2015 18:00:05 +0200
parents 5fc5c5bf2233
children 64e30831fa42
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

# 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.

SCRIPTS16 =	test1.out test19.out test20.out test22.out \
		test23.out test24.out test28.out test29.out \
		test35.out test36.out test43.out \
		test44.out test45.out test46.out test47.out \
		test48.out test51.out test53.out test54.out \
		test55.out test56.out test57.out test58.out test59.out \
		test60.out test61.out test62.out test63.out test64.out

SCRIPTS =	test3.out test4.out test5.out test6.out test7.out \
		test8.out test9.out test11.out test13.out test14.out \
		test15.out test17.out test18.out test21.out test26.out \
		test30.out test31.out test32.out test33.out test34.out \
		test37.out test38.out test39.out test40.out test41.out \
		test42.out test52.out test65.out test66.out test67.out \
		test68.out test69.out test71.out test72.out test73.out \
		test74.out test75.out test76.out test77.out test78.out \
		test79.out test80.out test81.out test82.out test83.out \
		test84.out test85.out test86.out test87.out test88.out \
		test89.out test90.out test91.out test92.out test93.out \
		test94.out test95.out test96.out test98.out test99.out \
		test100.out test101.out test102.out test103.out test104.out \
		test105.out test106.out  test107.out\
		test_argument_0count.out \
		test_argument_count.out \
		test_autocmd_option.out \
		test_autoformat_join.out \
		test_breakindent.out \
		test_changelist.out \
		test_charsearch.out \
		test_close_count.out \
		test_command_count.out \
		test_comparators.out \
		test_erasebackword.out \
		test_eval.out \
		test_fixeol.out \
		test_increment.out \
		test_insertcount.out \
		test_listchars.out \
		test_listlbr.out \
		test_listlbr_utf8.out \
		test_mapping.out \
		test_marks.out \
		test_match_conceal.out \
		test_nested_function.out \
		test_options.out \
		test_perl.out \
		test_qf_title.out \
		test_ruby.out \
		test_search_mbyte.out \
		test_set.out \
		test_signs.out \
		test_textobjects.out \
		test_utf8.out

SCRIPTS32 =	test50.out test70.out

SCRIPTS_GUI =	test16.out

TEST_OUTFILES = $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32) $(SCRIPTS_GUI)
DOSTMP = dostmp
DOSTMP_OUTFILES = $(TEST_OUTFILES:test=dostmp\test)
DOSTMP_INFILES = $(DOSTMP_OUTFILES:.out=.in)

.SUFFIXES: .in .out

nongui:	nolog $(SCRIPTS16) $(SCRIPTS) report

small:	nolog report

gui:	nolog $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) report

win32:	nolog $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32) 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 )