On Sat 13-Sep-08 1:53pm -0600, Bram Moolenaar wrote:
> Bill McCarthy wrote:
>> There is a `testdir' located in $VIMRUNTIME/src. There
>> doesn't appear to be any documentation of this, but there is
>> a set of tests that run from within various make files.
>>
>> I'm running in Windows.using Mingw. The makefile for
>> windows is apparently Make_dos.mak. The top of that file
>> mentioned that one needs typical unix utilities. However,
>> if you have the unix utilities, you very likely have at
>> least sh.exe and probably zsh.exe (the Bourne and Z-Shell).
> Can't you use "Makefile", as used for Unix? However, I thought that
> MingW was supposed to just supply the compiler, not all the Unix tools
> like Cygwin. So Make_dos.mak would be more appropriate.
Thanks for your speedy reply. No, Makefile does not work:
> make
rm -f test.log
make: *** No rule to make target `../vim', needed by `test1.out'. Stop.
You are correct that Mingw is not a complete package. One
needs to download the various unix utilities separately.
But one usually gets sh.exe also - I also got zsh.exe in one
of my downloads of unix utilities. [They don't all play well
with Windows, so one needs to test quite a bit.]
>> The GNU make command will use zsh (or sh if zsh is not
>> present). Only if neither of these are in your path is CMD
>> used - and you CAN use Make_dos.mak.
>>
>> I've created Make_dos_sh.mak which should work with either
>> sh.exe or zsh.exe - this is attached. When I ran it with
>> `make -f Make_dos_sh.mak', test54 failed with the following:
>>
>> cp test54.ok test.ok
>> ../vim -u dos.vim -U NONE --noplugin -s dotest.in test54.in
>> diff test.out test54.ok
>> diff: test.out: No such file or directory
>> make: *** [test54.out] Error 2
>>
>> Am I the first one to ever run these tests in Windows?
> This test uses Unix commands. They can probably be avoided, since the
> buffer-local autocommands don't require a shell command.
Yes, the CMD command `rm -f' is a problem. I've removed
this bad test and added a comment to the top of the new file
(see attached).
>> When I run `make Make_dos_sh.mak clean' it cleans things up.
>> Are there other targets I should use for a full test or is
>> that accomplished with the make file?
>>
>> One little problem. The unix utility command `rm -f X*'
>> produces an error message with there are no X* files. What
>> is the way around that?
> I think that's normal.
OK. With test54 removed, I've run several tests and they
each produced an `ALL DONE'. Apparently that means
everything worked?
Here are the tests I ran:
make -f Make_dos_sh.mak nongui
make -f Make_dos_sh.mak small
make -f Make_dos_sh.mak gui
make -f Make_dos_sh.mak win32
The second test isn't much of a test :-)
--
Best regards,
Bill
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---
#
# Makefile to run al tests for Vim, on Dos-like machines
# with sh.exe or zsh.exe in the path
#
# Note that test54 has been removed until it is fixed.
#
# 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
# test31 16 bit version runs out of memory...
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 \
test55.out test56.out test57.out test58.out test59.out \
test60.out test61.out test62.out test63.out test64.out
# Had to remove test54 which contains "!rf -f" - CMD doesn't like this
# test54.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
SCRIPTS32 = test50.out
SCRIPTS_GUI = test16.out
.SUFFIXES: .in .out
nongui: fixff $(SCRIPTS16) $(SCRIPTS)
echo ALL DONE
small:
echo ALL DONE
gui: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI)
echo ALL DONE
win32: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32)
echo ALL DONE
fixff:
-$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
clean:
-rm -f *.out
-rm -f test.ok
-rm -f small.vim
-rm -f tiny.vim
-rm -f mbyte.vim
-rm -f X*
-rm -f viminfo
.in.out:
cp $*.ok test.ok
$(VIMPROG) -u dos.vim -U NONE --noplugin -s dotest.in $*.in
diff test.out $*.ok
-rm -f $*.out
mv test.out $*.out
-rm -f X*
-rm -f test.ok
-rm -f viminfo