Running tests on windows

Matt Mackall mpm at selenic.com
Thu Mar 22 09:20:56 CDT 2012


On Wed, 2012-03-21 at 23:41 +0100, Angel Ezquerra Moreu wrote:
> On Wed, Mar 21, 2012 at 4:25 PM, Mads Kiilerich <mads at kiilerich.com> wrote:
> > On 03/21/2012 04:09 PM, Angel Ezquerra Moreu wrote:
> >>
> >> I think that hackable mercurial was a very big step forward to make it
> >> easier for us windows users to start to contribute. The fact that the
> >> test suite cannot be run as-is is yet another obstacle that I wish was
> >> not there. Even though thanks to your efforts it is now possible to
> >> run part of the test suite on windows, it is not quite as easy as
> >> running it on Linux yet.
> >
> >
> > Really?
> >
> > The test suite _do_ run as-is when you have MSYS. But granted, it requires a
> > posix environment with sh and other tools, something that "all" unix systems
> > have preinstalled.
> 
> That is exactly what I meant, plus the fact that apparently not all
> tests run on windows, even on MSYS.
> 
> > Many Unix users have had problems running from source (and thus running the
> > test suite) because they didn't have a Python development setup and thus
> > couldn't build Mercurial from scratch.
> >
> > I don't see much of a difference.
> 
> Well, on Windows you need Python _plus_ a posix environment.
> 
> > The necessary MSYS packages are easy to install, but they could probably all
> > be bundled in a 'Hackable2' zip. Hint hint ;-)
> 
> :-) Let's see if I get it to work first!
> Does the MinGW license allow that kind of repackaging?
> 
> >> In my opinion there are two things that could make it easier for
> >> windows users to contribute to mercurial:
> >>
> >> 1. Let the test suite run on cygwin, with as little workarounds and
> >> custom setup steps as possible.
> >
> > Why is cygwin better? Is it just because you happen to like it and already
> > have it installed?
> 
> You are partly right. It would be more convenient for me since I
> already use Cygwin. It is also my experience that Cygwin has a greater
> user base,

Umm, no. Indeed, more people may have a Cygwin install than a MinGW
install, but that's not what we care about at all. We primarily care
about testing the _normal Windows API/environment/libraries/filesystem_
and we don't care about supporting Cygwin's emulation weirdness much at
all because their are vastly more generic Windows users. Thus using
MinGW's bash to run shell scripts in an otherwise Windows-like
environment is much more useful.

> For example, I just followed the instruction on the HackableMercurial
> wiki page and I managed to be able to run the tests. That is great,
> but then I tried to run the patchbomb test, to verify a change that I
> just did to the patchbomb extension and unfortunatelly that particular
> set of tests does not work. That would not have happened if I was
> using Linux. That may partly explain why there are less Windows
> mercurial hackers.

Really, I think it's cultural. Our user base looks like this:

 Windows >> Mac >> Linux

And our developer base looks like this:

 Linux >> Mac >> Windows

And that situation has persisted for ages. If the potential Windows
contributor/user ratio was even a tenth of what it is on Linux, this
list would be dominated by Windows hackers and we would have blown past
all these obstacles years ago. But instead it took six years before a
frustrated project leader who doesn't even have a copy of Windows
finally got around to building HackableMercurial using Linux + Wine.

And on Mac, there aren't really any excuses. Mercurial installs are
"hackable" out of the box, the test suite runs, and there's a standard,
free compiler. There should be enough Mac developers out there that I
never have to lift a finger to fix Mac bugs and yet we manage to make
releases like 2.1.1 where no one notices it doesn't compile until after
it ships.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list