aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/qemu_test/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/qemu_test/utils.py')
-rw-r--r--tests/functional/qemu_test/utils.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/functional/qemu_test/utils.py b/tests/functional/qemu_test/utils.py
index a12dac51b6..99eae5fc45 100644
--- a/tests/functional/qemu_test/utils.py
+++ b/tests/functional/qemu_test/utils.py
@@ -8,6 +8,7 @@
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
+import gzip
import lzma
import os
import shutil
@@ -23,6 +24,17 @@ def archive_extract(archive, dest_dir, member=None):
else:
tf.extractall(path=dest_dir)
+def gzip_uncompress(gz_path, output_path):
+ if os.path.exists(output_path):
+ return
+ with gzip.open(gz_path, 'rb') as gz_in:
+ try:
+ with open(output_path, 'wb') as raw_out:
+ shutil.copyfileobj(gz_in, raw_out)
+ except:
+ os.remove(output_path)
+ raise
+
def lzma_uncompress(xz_path, output_path):
if os.path.exists(output_path):
return