The zstd command will print incremental decompression progress to stderr
when running. Fortunately it is not on stdout as that would confuse the
TAP parsing, but we should still not have this printed. By switching
from 'check_call' to 'run' with the check=True and capture_output=True
we'll get the desired silence on success, and on failure the raised
exception will automatically include stdout/stderr data for diagnosis
purposes.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <
20250228102738.
3064045-8-berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
import stat
import shutil
from urllib.parse import urlparse
-from subprocess import check_call, CalledProcessError
+from subprocess import run, CalledProcessError, DEVNULL
from .asset import Asset
return
try:
- check_call(['zstd', "-f", "-d", zstd_path,
- "-o", output_path])
+ run(['zstd', "-f", "-d", zstd_path,
+ "-o", output_path], capture_output=True, check=True)
except CalledProcessError as e:
os.remove(output_path)
raise Exception(