[PATCH] tests: make run-tests.py executable on Windows
Friedrich, Anna-Christina
Anna-Christina.Friedrich at draeger.com
Thu May 5 03:47:44 CDT 2011
Do you mean set testtmp to e.g. "C:\Temp" ?
I don't think that's useful. Consider environment variable for temporary files is set
to something else than "C:\Temp".
It is not predictable whether the letters of pathname are upper or lower case.
Maybe you mean something else?
-----Original Message-----
From: Patrick Mézard [mailto:pmezard at gmail.com]
Sent: Donnerstag, 5. Mai 2011 10:32
To: Friedrich, Anna-Christina
Cc: Mercurial Devel
Subject: Re: [PATCH] tests: make run-tests.py executable on Windows
Please keep the mailing-list in CC.
Le 05/05/11 10:17, Friedrich, Anna-Christina a écrit :
> That's a problem on Windows:
> The temporary file in Python is written with lower case e.g. "c:\temp\".
> Output on Windows gives you upper case "C:\Temp\".
> Matching those is only possible while ignoring case.
>
> In order to not touch the Output in Linux, I just added this loop inside "system == nt" condition.
Ok. If this is only related to temporary files, what do you think of fixing the regular expression itself in windows case right there:
http://hg.intevation.org/mercurial/crew/file/8468ec1109d1/tests/run-tests.py#l796
?
> -----Original Message-----
> From: Patrick Mézard [mailto:pmezard at gmail.com]
> Sent: Donnerstag, 5. Mai 2011 10:10
> To: Friedrich, Anna-Christina
> Cc: mercurial-devel at selenic.com
> Subject: Re: [PATCH] tests: make run-tests.py executable on Windows
>
> Le 05/05/11 09:45, Friedrich, Anna-Christina a écrit :
>> # HG changeset patch
>> # User Anna Friedrich <anna-christina.friedrich at draeger.com
>> <mailto:anna-christina.friedrich at draeger.com>>
>> # Date 1304515012 -7200
>> # Node ID ec0a6fe1d001aeac0f05ce7cbce8ae36264d8bf7
>> # Parent 643b8212813e631b5525049fc4321a34a4def105
>> possible to run batch scripts in testsuite
>>
>> With those changes it is possible to run Batch-Tests on Windows, so
>> that tests run in the same environment as hg is used(i.e. cmd.exe).
>>
>>
>> diff -r 643b8212813e -r ec0a6fe1d001 contrib/win32/hg.bat
>> --- a/contrib/win32/hg.bat Wed Feb 16 15:02:30 2011 +0100
>> +++ b/contrib/win32/hg.bat Wed May 04 15:16:52 2011 +0200
>> @@ -8,5 +8,5 @@
>> rem install does not put python.exe on the PATH...
>> rem %~dp0 is the directory of this script
>>
>> -"%~dp0..\python" "%~dp0hg" %*
>> +"%~dp0\python" "%~dp0hg" %*
>
> Could you elaborate on this one?
>
> "hg.bat" is copied along with the hg script by setup.py, and I think they end up in pythonXX/scripts. In this case, the modified "%~dp0\python" no longer references the python executable in python/. Am I missing something?
>
>> endlocal
>> diff -r 643b8212813e -r ec0a6fe1d001 tests/run-tests.py
>> --- a/tests/run-tests.py Wed Feb 16 15:02:30 2011 +0100
>> +++ b/tests/run-tests.py Wed May 04 15:16:52 2011 +0200
>> @@ -344,8 +344,9 @@
>> os.symlink(sys.executable, mypython)
>> except AttributeError:
>> # windows fallback
>> - shutil.copyfile(sys.executable, mypython)
>> - shutil.copymode(sys.executable, mypython)
>> + mypythonexe = mypython + '.exe'
>> + shutil.copyfile(sys.executable, mypythonexe)
>> + shutil.copymode(sys.executable, mypythonexe)
>
> Looks right, I wonder if the first part of the function (with findprogram()) shouldn't be fixed as well.
>
>> def installhg(options):
>> vlog("# Performing temporary installation of HG") @@ -601,6
>> +602,8 @@
>> ret = fromchild.close()
>> if ret is None:
>> ret = 0
>> + for s, r in replacements:
>> + output = re.sub(s, r, output,flags=re.IGNORECASE)
>> else:
>> proc = Popen4(cmd)
>> def cleanup():
>
> Why is the replacement loop twenty lines below not good enough?
>
>> ---
>> This communication contains confidential information. If you are not the intended recipient please return this email to the sender and delete it from your records.
>
> I guess I should not have read all this
>
> --
> Patrick Mézard
>
More information about the Mercurial-devel
mailing list