[PATCH 1 of 2] hghave: enable 'serve' on Windows

Matt Harbison mharbison72 at gmail.com
Mon May 8 04:39:19 UTC 2017


# 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'

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

diff --git a/tests/hghave.py b/tests/hghave.py
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -502,7 +502,7 @@
 
 @check("serve", "platform and python can manage 'hg serve -d'")
 def has_serve():
-    return os.name != 'nt' # gross approximation
+    return True
 
 @check("test-repo", "running tests from repository")
 def has_test_repo():


More information about the Mercurial-devel mailing list