[PATCH 1 of 2] hghave: enable 'serve' on Windows
Matt Harbison
mharbison72 at gmail.com
Mon May 8 22:53:04 EDT 2017
On Mon, 08 May 2017 01:09:28 -0400, Adrian Buehlmann <adrian at cadifra.com>
wrote:
> On 2017-05-08 06:39, Matt Harbison wrote:
>> # HG changeset patch
>> # User Matt Harbison <matt_harbison at yahoo.com>
>> # Date 1494183520 14400
>> # Sun May 07 14:58:40 2017 -0400
>> # Node ID 36d9a659b9d76837faaf73fde3f5c5455231c2f9
>> # Parent c6cbd0b66465bcaa41f03c9498555f04d3dfbe7c
>> hghave: enable 'serve' on Windows
>>
>> I've been using a local hghaveaddon.py to enable this for a couple of
>> months
>> with reasonable success, and 'killdaemons' is already enabled on
>> Windows.
>> There's one failure[1] in test-http-proxy.t that this adds, which I
>> can't figure
>> out. On occasion, there is also a stacktrace at the end of a run:
>>
>> Errored test-serve.t: Traceback (most recent call last):
>> File "./run-tests.py", line 724, in run
>> self.tearDown()
>> File "./run-tests.py", line 805, in tearDown
>> killdaemons(entry)
>> File "./run-tests.py", line 540, in killdaemons
>> logfn=vlog)
>> File "c:\Users\Matt\Projects\hg\tests\killdaemons.py", line 94, in
>> killdaemons
>> os.unlink(pidfile)
>> WindowsError: [Error 32] The process cannot access the file because it
>> is being
>> used by another process:
>> '...\\hgtests.gubapm\\child449\\daemon.pids'
>
> https://www.mercurial-scm.org/wiki/UnlinkingFilesOnWindows
>
>> The affected test(s) vary from run to run (and most times the error
>> doesn't
>> occur). The common thread is that the affected tests are missing a
>> killdaemons
>> call.
>>
>> Still, it seems better to enable a whole class of tests by default, to
>> catch
>> actual regressions when they occur.
>>
>> [1]
>> https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096987.html
Ah, I knew there was a trick, thanks. Since the next thing that happens
is to recursively delete the test directory, I'm not sure if _that_ step
will blow up. When I tried adding 'from mercurial import util' to
killdaemons.py, it says 'No module named mercurial'. Other test/*.py
files do this, so I'm not sure what the issue is.
More information about the Mercurial-devel
mailing list