Mercurial > hg-stable
view tests/test-schemes.t @ 29020:ee2e4a2c3690 stable
setup: detect Python DLL filename from loaded DLL
Attempting to build Mercurial from source using MinGW from
msys2 on Windows produces a hg.exe that attempts to load e.g.
python27.dll. MinGW prefixes its library name with "lib" and
adds a period between the major and minor versions. e.g.
"libpython2.7.dll."
Before this patch, hg.exe files in a MinGW environment would
either fail to find a Python DLL or would attempt to load a
non-MinGW DLL, which would summarily explode. Either way,
hg.exe wouldn't work.
This patch improves the code that determines the Python DLL
filename to actually use the loaded Python DLL instead of
inferring it. Basically we take the handle of the loaded DLL
from sys.dllhandle and call a Windows API to try to resolve
that handle to a filename.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 28 Apr 2016 08:52:13 -0700 |
parents | bf1d5c223ac0 |
children | 393e44324037 |
line wrap: on
line source
#require serve $ cat <<EOF >> $HGRCPATH > [extensions] > schemes= > > [schemes] > l = http://localhost:$HGPORT/ > parts = http://{1}:$HGPORT/ > z = file:\$PWD/ > EOF $ hg init test $ cd test $ echo a > a $ hg ci -Am initial adding a invalid scheme $ hg log -R z:z abort: no '://' in scheme url 'z:z' [255] http scheme $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log $ cat hg.pid >> $DAEMON_PIDS $ hg incoming l:// comparing with l:// searching for changes no changes found [1] check that {1} syntax works $ hg incoming --debug parts://localhost using http://localhost:$HGPORT/ sending capabilities command comparing with parts://localhost/ query 1; heads sending batch command searching for changes all remote heads known locally no changes found [1] check that paths are expanded $ PWD=`pwd` hg incoming z:// comparing with z:// searching for changes no changes found [1] check that debugexpandscheme outputs the canonical form $ hg debugexpandscheme bb://user/repo https://bitbucket.org/user/repo expanding an unknown scheme emits the input $ hg debugexpandscheme foobar://this/that foobar://this/that expanding a canonical URL emits the input $ hg debugexpandscheme https://bitbucket.org/user/repo https://bitbucket.org/user/repo errors $ cat errors.log $ cd ..