mirror of
https://github.com/qemu/qemu.git
synced 2024-12-13 14:33:31 +08:00
tests/boot_linux_console: add extract_from_rpm method
Add a method to extract a specified file from an RPM to the test's working directory and return the path to the extracted file. Signed-off-by: Liam Merwick <liam.merwick@oracle.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <1580914565-19675-5-git-send-email-liam.merwick@oracle.com> [PMD: Rebased] Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
8a83708892
commit
76a901d295
@ -51,6 +51,22 @@ class BootLinuxConsole(Test):
|
||||
os.chdir(cwd)
|
||||
return self.workdir + path
|
||||
|
||||
def extract_from_rpm(self, rpm, path):
|
||||
"""
|
||||
Extracts a file from an RPM package into the test workdir.
|
||||
|
||||
:param rpm: path to the rpm archive
|
||||
:param path: path within the rpm archive of the file to be extracted
|
||||
needs to be a relative path (starting with './') because
|
||||
cpio(1), which is used to extract the file, expects that.
|
||||
:returns: path of the extracted file
|
||||
"""
|
||||
cwd = os.getcwd()
|
||||
os.chdir(self.workdir)
|
||||
process.run("rpm2cpio %s | cpio -id %s" % (rpm, path), shell=True)
|
||||
os.chdir(cwd)
|
||||
return os.path.normpath(os.path.join(self.workdir, path))
|
||||
|
||||
def test_x86_64_pc(self):
|
||||
"""
|
||||
:avocado: tags=arch:x86_64
|
||||
|
Loading…
Reference in New Issue
Block a user