diff options
author | Philippe Mathieu-Daudé <philmd@redhat.com> | 2019-03-13 00:45:40 +0100 |
---|---|---|
committer | Eduardo Habkost <ehabkost@redhat.com> | 2019-06-11 14:13:00 -0300 |
commit | 6c1c4c33b58b003a562de58cb1731b29614a9446 (patch) | |
tree | 931a5b375bad8bccd0040edd1e84c6e6485ad318 | |
parent | 219dca61ebf41625831d4f96a720852baf44b762 (diff) | |
download | qemu-6c1c4c33b58b003a562de58cb1731b29614a9446.zip qemu-6c1c4c33b58b003a562de58cb1731b29614a9446.tar.gz qemu-6c1c4c33b58b003a562de58cb1731b29614a9446.tar.bz2 |
tests/boot_linux_console: Let extract_from_deb handle various compressions
Debian binary package format supports various compressions.
Per man deb(5):
NAME
deb - Debian binary package format
FORMAT
...
The third, last required member is named data.tar. It contains the
filesystem as a tar archive, either not compressed (supported since
dpkg 1.10.24), or compressed with gzip (with .gz extension),
xz (with .xz extension, supported since dpkg 1.15.6),
bzip2 (with .bz2 extension, supported since dpkg 1.10.24) or
lzma (with .lzma extension, supported since dpkg 1.13.25).
List the archive files to have the 3rd name with the correct extension.
The function avocado.utils.archive.extract() will handle the different
compression format for us.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190312234541.2887-2-philmd@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
-rw-r--r-- | tests/acceptance/boot_linux_console.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index d5c500e..6aa084e 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -55,8 +55,9 @@ class BootLinuxConsole(Test): """ cwd = os.getcwd() os.chdir(self.workdir) - process.run("ar x %s data.tar.gz" % deb) - archive.extract("data.tar.gz", self.workdir) + file_path = process.run("ar t %s" % deb).stdout_text.split()[2] + process.run("ar x %s %s" % (deb, file_path)) + archive.extract(file_path, self.workdir) os.chdir(cwd) return self.workdir + path |