[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 11/24] tests/functional: Add a function for extracting files f
From: |
Daniel P . Berrangé |
Subject: |
[PATCH v3 11/24] tests/functional: Add a function for extracting files from an archive |
Date: |
Tue, 30 Jul 2024 18:03:31 +0100 |
From: Thomas Huth <thuth@redhat.com>
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>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
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 v3 02/24] tests/functional: Add base classes for the upcoming pytest-based tests, (continued)
- [PATCH v3 08/24] tests/functional: add a module for handling asset download & caching, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 06/24] tests/functional: Convert simple avocado tests into standalone python tests, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 09/24] tests/functional: enable pre-emptive caching of assets, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 05/24] tests/functional: Prepare the meson build system for the functional tests, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 07/24] tests/functional: Convert avocado tests that just need a small adjustment, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 10/24] tests/functional: Convert some tests that download files via fetch_asset(), Daniel P . Berrangé, 2024/07/30
- [PATCH v3 11/24] tests/functional: Add a function for extracting files from an archive,
Daniel P . Berrangé <=
- [PATCH v3 12/24] tests/functional: Convert some avocado tests that needed avocado.utils.archive, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 13/24] tests/functional: Convert the s390x avocado tests into standalone tests, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 14/24] tests/functional: Convert the x86_cpu_model_versions test, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 15/24] tests/functional: Convert the microblaze avocado tests into standalone tests, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 16/24] tests/functional: Convert the riscv_opensbi avocado test into a standalone test, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 17/24] tests/functional: Convert the virtio_gpu avocado test into a standalone test, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 18/24] tests/functional: Convert most ppc avocado tests into standalone tests, Daniel P . Berrangé, 2024/07/30
- [PATCH v3 19/24] tests/functional: Convert the ppc_amiga avocado test into a standalone test, Daniel P . Berrangé, 2024/07/30