[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 09/23] tests/functional: Add a function for extracting files f
|
From: |
Thomas Huth |
|
Subject: |
[PATCH v2 09/23] tests/functional: Add a function for extracting files from an archive |
|
Date: |
Wed, 24 Jul 2024 19:52:27 +0200 |
Some Avocado-based tests use the "archive" module from avocado.utils
to extract files from an archive. To be able to use these tests
without Avocado, we have to provide our own function for extracting
files. Fortunately, there is already the tarfile module that will
provide us with this functionality, so let's just add a nice wrapper
function around that.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/functional/qemu_test/utils.py | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 tests/functional/qemu_test/utils.py
diff --git a/tests/functional/qemu_test/utils.py
b/tests/functional/qemu_test/utils.py
new file mode 100644
index 0000000000..4eb5e5d5e5
--- /dev/null
+++ b/tests/functional/qemu_test/utils.py
@@ -0,0 +1,21 @@
+# Utilities for python-based QEMU tests
+#
+# Copyright 2024 Red Hat, Inc.
+#
+# Authors:
+# Thomas Huth <thuth@redhat.com>
+#
+# 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 tarfile
+
+def archive_extract(archive, dest_dir, member=None):
+ with tarfile.open(archive) as tf:
+ if hasattr(tarfile, 'data_filter'):
+ tf.extraction_filter = getattr(tarfile, 'data_filter',
+ (lambda member, path: member))
+ if member:
+ tf.extract(member=member, path=dest_dir)
+ else:
+ tf.extractall(path=dest_dir)
--
2.45.2
- Re: [PATCH v2 05/23] tests/functional: Convert simple avocado tests into standalone python tests, (continued)
- [PATCH v2 04/23] tests/functional: Prepare the meson build system for the functional tests, Thomas Huth, 2024/07/24
- [PATCH v2 06/23] tests/functional: Convert avocado tests that just need a small adjustment, Thomas Huth, 2024/07/24
- [PATCH v2 07/23] tests/functional: Implement fetch_asset() method for downloading assets, Thomas Huth, 2024/07/24
- [PATCH v2 08/23] tests/functional: Convert some tests that download files via fetch_asset(), Thomas Huth, 2024/07/24
- [PATCH v2 09/23] tests/functional: Add a function for extracting files from an archive,
Thomas Huth <=
- [PATCH v2 11/23] tests/functional: Set up logging, Thomas Huth, 2024/07/24
- [PATCH v2 10/23] tests/functional: Convert some avocado tests that needed avocado.utils.archive, Thomas Huth, 2024/07/24
- [PATCH v2 12/23] tests/functional: Convert the s390x avocado tests into standalone tests, Thomas Huth, 2024/07/24
- [PATCH v2 15/23] tests/functional: Convert the riscv_opensbi avocado test into a standalone test, Thomas Huth, 2024/07/24
- [PATCH v2 13/23] tests/functional: Convert the x86_cpu_model_versions test, Thomas Huth, 2024/07/24
- [PATCH v2 16/23] tests/functional: Convert the virtio_gpu avocado test into a standalone test, Thomas Huth, 2024/07/24