Running Mercurial test suite on Windows

Patrick Mézard pmezard at gmail.com
Wed Dec 8 16:40:50 CST 2010


Le 08/12/10 17:42, Erik Zielke a écrit :
> Hi
> 
> I have tried to run the test suite on Windows, according to the instructions at http://mercurial.selenic.com/wiki/WindowsTestingPlan
> 
> I updated my Mercurial clone back to where the queue was last applied, and applied the windows testing queue there.
> 
> I use Python 2.6, Windows 7 and run the tests from the command prompt. I wasn't sure whether the tests should be run from cygwin, but then there was a problem with paths. Someone else mentioned something about the same thing (I think) on the mailing list a few days ago. So I guess that one should use cmd to run the tests.

No but you need cygwin configured with LF output on your PATH.

> But I ran into some issues with, e.g.:
> 
> - confusion over the two different paths separators
> - exit codes: a lot of places tests report 127 instead of 255 as exit code.
> 
> Can these problems be because I have set up the test suite incorrectly, because they occur in a lot of the tests for me?

First, I have not spent a lot of time in the past six months updating the patch queue, so you can expect a lot of failures. I have fixed a couple of them recently but I lack of time to do that thouroughly. Secondly, the test suite never passed completely under Windows.

When possible, I deal with paths separators by automatically rewriting the output of some shell commands and several mercurial commands directly in pysh. I do that when there is either too much breakage compared to the loss of coverage or when the path separator nature is unimportant.

Something I should fix is I still run the tests nightly but they never finish cleanly because one of the tests causes run-tests.py to fail when parsing the output (it might be caused by one of my own patch). If I correct this you will have some kind of test result reference here:

    http://mezard.eu/hgtests/

--
Patrick Mézard


More information about the Mercurial-devel mailing list