Re: [PATCH v2 6/6] tests/boot_linux_console: use os.path for filesystem paths
On 2/5/20 3:56 PM, Liam Merwick wrote: Change extract_from_deb() to use os.path routines to manipulate the filesystem path returned when extracting a file. Suggested-by: Wainer dos Santos Moschetta Signed-off-by: Liam Merwick --- tests/acceptance/boot_linux_console.py | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index 9c55218cb5bb..434608f12027 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -49,7 +49,12 @@ class BootLinuxConsole(Test): process.run("ar x %s %s" % (deb, file_path)) archive.extract(file_path, self.workdir) os.chdir(cwd) -return self.workdir + path +# Return complete path to extracted file. Because callers to +# extract_from_deb() specify 'path' with a leading slash, it is +# necessary to use os.path.relpath() as otherwise os.path.join() +# interprets it as an absolute path and drops the self.workdir part. +return os.path.normpath(os.path.join(self.workdir, + os.path.relpath(path, '/'))) def extract_from_rpm(self, rpm, path): """ Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé
[PATCH v2 6/6] tests/boot_linux_console: use os.path for filesystem paths
Change extract_from_deb() to use os.path routines to manipulate the filesystem path returned when extracting a file. Suggested-by: Wainer dos Santos Moschetta Signed-off-by: Liam Merwick --- tests/acceptance/boot_linux_console.py | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index 9c55218cb5bb..434608f12027 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -49,7 +49,12 @@ class BootLinuxConsole(Test): process.run("ar x %s %s" % (deb, file_path)) archive.extract(file_path, self.workdir) os.chdir(cwd) -return self.workdir + path +# Return complete path to extracted file. Because callers to +# extract_from_deb() specify 'path' with a leading slash, it is +# necessary to use os.path.relpath() as otherwise os.path.join() +# interprets it as an absolute path and drops the self.workdir part. +return os.path.normpath(os.path.join(self.workdir, + os.path.relpath(path, '/'))) def extract_from_rpm(self, rpm, path): """ -- 1.8.3.1