diff tests/hghave.py @ 17467:448d0c452140

test-http-branchmap: enable on Windows Tests using "hg serve --daemon" are currently disabled on Windows for lack of proper kill utility. The one shipped with MinGW operates on internal process identifiers and not on the ones recorded by hg serve. Fortunately we can replace most of them by calls to killdaemons.py. This patch is a proof of concept on how to run these tests on Windows. The plan is: - Check test-http-branchmap.t does not fail/hang on the buildbot - Convert all kill utility calls to killdaemons.py calls. - Add a rule in check-code.py to forbid kill calls, or ignore the remaining ones (test-hup.t, etc.). - Possibly drop the 'serve' rule from hghave. The: listening at http://*:$HGPORT1/ line does not appear on Windows because the detached process can no longer write on its parent streams. Grepping hg serve stdout directly causes the parent process to never return and hangs the test. This is a bug, but I have no simple solution and prefer to pay this small price and enable hg serve tests on Windows.
author Patrick Mezard <patrick@mezard.eu>
date Sun, 09 Sep 2012 12:31:14 +0200
parents 468a950aebc3
children 35674bd95200
line wrap: on
line diff
--- a/tests/hghave.py	Mon Aug 20 22:36:51 2012 +0200
+++ b/tests/hghave.py	Sun Sep 09 12:31:14 2012 +0200
@@ -118,6 +118,9 @@
     except OSError:
         return False
 
+def has_killdaemons():
+    return True
+
 def has_cacheable_fs():
     from mercurial import util
 
@@ -286,6 +289,7 @@
     "hardlink": (has_hardlink, "hardlinks"),
     "icasefs": (has_icasefs, "case insensitive file system"),
     "inotify": (has_inotify, "inotify extension support"),
+    "killdaemons": (has_killdaemons, 'killdaemons.py support'),
     "lsprof": (has_lsprof, "python lsprof module"),
     "mtn": (has_mtn, "monotone client (>= 1.0)"),
     "outer-repo": (has_outer_repo, "outer repo"),