Patchwork D7374: hghave: add a check for the `xz` compression utility

login
register
mail settings
Submitter phabricator
Date Nov. 19, 2019, 3:49 a.m.
Message ID <e19f018d31b216c4335c5acf8772527c@localhost.localdomain>
Download mbox | patch
Permalink /patch/43341/
State Not Applicable
Headers show

Comments

phabricator - Nov. 19, 2019, 3:49 a.m.
Closed by commit rHG21e05aabef8c: hghave: add a check for the `xz` compression utility (authored by mharbison72).
This revision was automatically updated to reflect the committed changes.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7374?vs=18055&id=18222

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D7374/new/

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

AFFECTED FILES
  tests/hghave.py
  tests/test-archive.t

CHANGE DETAILS




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

Patch

diff --git a/tests/test-archive.t b/tests/test-archive.t
--- a/tests/test-archive.t
+++ b/tests/test-archive.t
@@ -574,8 +574,8 @@ 
 
 #if py3
   $ hg archive ../archive.txz
-  $ xz -l ../archive.txz | head -n1
-  Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
+  $ which xz >/dev/null && xz -l ../archive.txz | head -n1 || true
+  Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename (xz !)
   $ rm -f ../archive.txz
 #else
   $ hg archive ../archive.txz
diff --git a/tests/hghave.py b/tests/hghave.py
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -673,6 +673,13 @@ 
         return False
 
 
+@check("xz", "xz compression utility")
+def has_xz():
+    # When Windows invokes a subprocess in shell mode, it uses `cmd.exe`, which
+    # only knows `where`, not `which`.  So invoke MSYS shell explicitly.
+    return matchoutput("sh -c 'test -x \"`which xz`\"'", b'')
+
+
 @check("msys", "Windows with MSYS")
 def has_msys():
     return os.getenv('MSYSTEM')