From 2c961a46544dee217cff0bfe2f960ccf758dd5a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Doktor?= Date: Mon, 11 Jan 2016 06:51:05 +0100 Subject: [PATCH] avocado.core.loader: Use sys.path.remove instead of pop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It's safer to use "remove" in case someone adjusted "sys.path". Signed-off-by: Lukáš Doktor --- avocado/core/loader.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/avocado/core/loader.py b/avocado/core/loader.py index 5771f3fa..53fb7fbb 100644 --- a/avocado/core/loader.py +++ b/avocado/core/loader.py @@ -263,8 +263,13 @@ class TestLoaderProxy(object): sys.path.insert(0, test_module_dir) f, p, d = imp.find_module(module_name, [test_module_dir]) test_module = imp.load_module(module_name, f, p, d) + except ImportError, details: + raise ImportError("Unable to import test's module with " + "sys.path=%s\n\n%s" % (", ".join(sys.path), + details)) finally: - sys.path.pop(0) + if test_module_dir in sys.path: + sys.path.remove(test_module_dir) for _, obj in inspect.getmembers(test_module): if (inspect.isclass(obj) and obj.__name__ == test_class and inspect.getmodule(obj) == test_module): -- GitLab