[PATCH] tests: on windows, run command explicitly in sh for working command substitution

Simon Heimberg simohe at besonet.ch
Sat Feb 8 09:37:24 CST 2014


# HG changeset patch
# User Simon Heimberg <simohe at besonet.ch>
# Date 1391852477 -3600
# Node ID 289c3b0e73da58ed81a0be54956034437572b98d
# Parent  62daef5cf1fbd55783a1d26f361e73930ca4fb0a
tests: on windows, run command explicitly in sh for working command substitution

On windows, os.system runs the command in cmd.exe, which does not know command
substitution. To let this work, run the command explicitly in sh.

This fixes the failure of this test on windows.

diff -r 62daef5cf1fb -r 289c3b0e73da tests/test-commandserver.py
--- a/tests/test-commandserver.py	Die Jan 28 00:33:52 2014 +0100
+++ b/tests/test-commandserver.py	Sam Feb 08 10:41:17 2014 +0100
@@ -267,7 +267,10 @@
 
     runcommand(server, ['up', 'null'])
     runcommand(server, ['phase', '-df', 'tip'])
-    os.system('hg debugobsolete `hg log -r tip --template {node}`')
+    cmd = 'hg debugobsolete `hg log -r tip --template {node}`'
+    if os.name == 'nt':
+        cmd = 'sh -c "%s"' % cmd # run in sh, not cmd.exe
+    os.system(cmd)
     runcommand(server, ['log', '--hidden'])
     runcommand(server, ['log'])
 


More information about the Mercurial-devel mailing list