Patchwork test-check-help: fix to work on Windows

login
register
mail settings
Submitter Matt Harbison
Date March 19, 2017, 6:43 p.m.
Message ID <f5f429a6300ef16a477c.1489949022@Envy>
Download mbox | patch
Permalink /patch/19461/
State Accepted
Headers show

Comments

Matt Harbison - March 19, 2017, 6:43 p.m.
# HG changeset patch
# User Matt Harbison <matt_harbison@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.
Yuya Nishihara - March 20, 2017, 4:19 a.m.
On Sun, 19 Mar 2017 14:43:42 -0400, Matt Harbison wrote:
> # HG changeset patch
> # User Matt Harbison <matt_harbison@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

Queued, thanks.

Patch

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