Mercurial > hg
changeset 43699:21e05aabef8c
hghave: add a check for the `xz` compression utility
This isn't install by default on Mac, which causes a test failure. The logic
for avoiding the command is a little goofy, but nested `#if` isn't supported,
and it still seems worth running the hg command to see if anything explodes.
With this, the py3 tests run (almost) cleanly on 10.14.6:
# Ran 835 tests, 58 skipped, 1 failed.
Alas, the mac-packaging test is skipped because it's slow. The failure here is
in test-releasenotes-merging.t, complaining about not being able to import the
`fuzzywuzzy` module. I have it installed on py3 (thus the test isn't skipped),
but not on py2. So there must be some unintended cross pollination here when
running `hg` commands.
Differential Revision: https://phab.mercurial-scm.org/D7374
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 12 Nov 2019 17:47:42 -0500 |
parents | 0c25e3404e23 |
children | a58d2361b231 |
files | tests/hghave.py tests/test-archive.t |
diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/hghave.py Thu Nov 14 22:31:21 2019 -0800 +++ b/tests/hghave.py Tue Nov 12 17:47:42 2019 -0500 @@ -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')
--- a/tests/test-archive.t Thu Nov 14 22:31:21 2019 -0800 +++ b/tests/test-archive.t Tue Nov 12 17:47:42 2019 -0500 @@ -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