Testsuite with x64 Mercurial on Windows

Adrian Buehlmann adrian at cadifra.com
Tue Jun 19 04:49:21 CDT 2012


On 2012-06-19 11:25, Mads Kiilerich wrote:
> On 19/06/12 08:23, Adrian Buehlmann wrote:
>> I compiled my
>> exemaker.exe (or hg.exe) from https://bitbucket.org/timeless/exemaker
>> using the MS C compiler. I've just uploaded it to
>> https://bitbucket.org/abuehl/downloads/downloads/hg-x86-385eaa517487.exe
>> in case you want to try it.
> 
> If it is better than the old exemaker and fixes the issue with relative 
> paths then please reference it on the wiki.

I will look into updating the wiki later, sure.

I see timeless' exemaker fork is already linked there and there is link
to a donwload by alexandrul.

So, my uploaded exe may already be redundant. It was meant as a short
time thing anyway, in order to have something to try out.

>> Compiling Mercurial's C files with the MS C compiler is as simple as
>> doing (in MSYS shell):
>>
>>    $ make local
>>
>> in the root dir of a clone of the mercurial source repo. For that, you
>> need Python installed and on the path (I currently use 2.7.3, note that
>> the python msi installers don't set the PATH). Entering "python" in MSYS
>> should give you the python prompt:
>>
>>    $ python
>>    Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit
>> (Intel)] on win32
>>    Type "help", "copyright", "credits" or "license" for more information.
>>    >>>
>>
>> I have a Windows 7 symbolic link C:\Python here, which points to
>> C:\Python27_x86, where I have the x86 Python. I can switch the symlink
>> to Python27_x64, where I have the x64 2.7.3 Python (both installed from
>> the official msi installers provided by the Python folks).
>>
>> Depending on what python is on path, 'make local' will either compile
>> the mercurial C files for x86 or x64.
>>
>> To run the testsuite, you need to copy the 'hg' python script in the
>> root dir of the to-be-tested clone of mercurial to hg.py and edit the
>> first line to
>>
>>    #!C:\Windows\system32\python27.dll
>>
>> Then in MSYS shell:
>>
>>    $ cd tests
>>    $ PATH="/mingw/bin:/bin:/c/python:/c/cygwin/bin"
>> PYTHONPATH="/c/python/lib:/c/Python/DLLs" ./run-tests.py --local
> 
> Please document your non-hackable way of running the test suite on the 
> wiki. (But it seems strange that you have to set PYTHONPATH.)

I surely will, as soon as I have sorted out all those strangenesses.

I made some early attempts at updating the wiki, but these have stalled
a bit.

>> The cygwin thing is currently required here for those tests that need
>> dd.exe (e.g. test-verify.t). I happended to have cycgwin installed here,
>> which has dd.exe, but otherwise cygwin is not needed for running the
>> testsuite (I should get rid of that dependency, haven't yet figured out
>> how to get dd.exe from elsewhere).
> 
> How about following the existing description on the wiki? That will give 
> you dd from msys / mingw. There is no need for cygwin and there never 
> has been.

I think I *did* follow the description on the wiki about how to install
MSYS, specifically I think I followed:


http://mercurial.selenic.com/wiki/HackableMercurial#Install_MinGW.2BAC8-MSYS_environment

but for some unknown strange reason I do not have a dd.exe in
C:\MinGW\msys\1.0\bin nor in C:\MinGW\bin

Where should that dd.exe be after following the MSYS install
instructions? Do you happen to know in which mingw extra install package
that dd is supposed to be?

Perhaps I did something stupid about this dd.exe thing, but I can't see
my error right now.


More information about the Mercurial-devel mailing list