Patchwork D11083: dummyssh: call python script with python

login
register
mail settings
Submitter phabricator
Date July 11, 2021, 9:38 p.m.
Message ID <differential-rev-PHID-DREV-twjrjzrr5tkv6xhqjry7-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/49395/
State Superseded
Headers show

Comments

phabricator - July 11, 2021, 9:38 p.m.
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  We don't want windows to grab whatever python got configured to run .py file. We
  need the python used during the test to be used.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D11083

AFFECTED FILES
  tests/dummyssh

CHANGE DETAILS




To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/tests/dummyssh b/tests/dummyssh
--- a/tests/dummyssh
+++ b/tests/dummyssh
@@ -3,6 +3,7 @@ 
 from __future__ import absolute_import
 
 import os
+import shlex
 import subprocess
 import sys
 
@@ -23,5 +24,12 @@ 
 if os.name == 'nt':
     # hack to make simple unix single quote quoting work on windows
     hgcmd = hgcmd.replace("'", '"')
+    cmds = shlex.split(hgcmd)
+    if cmds[0].endswith('.py'):
+        python_exe = os.environ['PYTHON']
+        cmds.insert(0, python_exe)
+    hgcmd = shlex.join(cmds)
+    # shlex generate windows incompatible string...
+    hgcmd = hgcmd.replace("'", '"')
 r = subprocess.call(hgcmd, shell=True)
 sys.exit(bool(r))