Patchwork D10694: hghave: fix the definition of `python3` to work on Windows

login
register
mail settings
Submitter phabricator
Date May 7, 2021, 4:02 a.m.
Message ID <differential-rev-PHID-DREV-kajar6xjqi5ietojvst6-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/49011/
State Superseded
Headers show

Comments

phabricator - May 7, 2021, 4:02 a.m.
mharbison72 created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  Both py2 and py3 executables are named `python.exe`, and may or may not be on
  PATH.  So use the dispatcher executable that comes with py3 to fetch the version
  of the latest py3 executable.  This allows at least one relnotes test to run on
  Windows.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

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

AFFECTED FILES
  tests/hghave.py

CHANGE DETAILS




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

Patch

diff --git a/tests/hghave.py b/tests/hghave.py
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -863,7 +863,10 @@ 
 
 @check("py3exe", "a Python 3.x interpreter is available")
 def has_python3exe():
-    return matchoutput('python3 -V', br'^Python 3.(5|6|7|8|9)')
+    py = 'python3'
+    if os.name == 'nt':
+        py = 'py -3'
+    return matchoutput('%s -V' % py, br'^Python 3.(5|6|7|8|9)')
 
 
 @check("pure", "running with pure Python code")