]> xenbits.xensource.com Git - people/aperard/qemu-dm.git/commitdiff
tests/functional: stop output from zstd command when uncompressing
authorDaniel P. Berrangé <berrange@redhat.com>
Fri, 28 Feb 2025 10:27:38 +0000 (10:27 +0000)
committerThomas Huth <thuth@redhat.com>
Fri, 7 Mar 2025 06:50:19 +0000 (07:50 +0100)
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>
tests/functional/qemu_test/uncompress.py

index 76dcf223856172a66890659287481af08f5db1f7..ce79da1b6860009332e709c849f1ce6f2d52b4c0 100644 (file)
@@ -13,7 +13,7 @@ import os
 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
 
@@ -46,8 +46,8 @@ def zstd_uncompress(zstd_path, output_path):
         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(