[PATCH] test-check-help: fix to work on Windows

Matt Harbison mharbison72 at gmail.com
Sun Mar 19 18:43:42 UTC 2017


# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1489948965 14400
#      Sun Mar 19 14:42:45 2017 -0400
# Node ID f5f429a6300ef16a477ce175899088bd06a616b1
# Parent  b1bebed54e9371708e1cd1eba63f0cedadfdf035
test-check-help: fix to work on Windows

The initial problem was `hg files` prints paths with '\', which gets removed
when piped (scanhelptopics.py failed to open 'hgext__init__.py').  Then, xargs
was invoking `hg help` with 'backout\r (esc)', which setting binary mode
prevents.

diff --git a/tests/test-check-help.t b/tests/test-check-help.t
--- a/tests/test-check-help.t
+++ b/tests/test-check-help.t
@@ -6,6 +6,9 @@
   > from __future__ import absolute_import, print_function
   > import re
   > import sys
+  > if sys.platform == "win32":
+  >     import os, msvcrt
+  >     msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
   > topics = set()
   > topicre = re.compile(r':hg:`help ([a-z0-9\-.]+)`')
   > for fname in sys.argv:
@@ -20,6 +23,6 @@
 Check if ":hg:`help TOPIC`" is valid:
 (use "xargs -n1 -t" to see which help commands are executed)
 
-  $ hg files 'glob:{hgext,mercurial}/**/*.py' \
+  $ hg files 'glob:{hgext,mercurial}/**/*.py' | sed 's|\\|/|g' \
   > | xargs python "$TESTTMP/scanhelptopics.py" \
   > | xargs -n1 hg help > /dev/null


More information about the Mercurial-devel mailing list