From 77047f367105a2512f5fa5c13dafefea7bcc9548 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Fri, 1 Sep 2017 19:01:34 +0800 Subject: [PATCH] bugfix: imported module should not be considered as variable --- ate/utils.py | 3 +++ tests/test_utils.py | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/ate/utils.py b/ate/utils.py index 2a5a339c..86d22bf8 100644 --- a/ate/utils.py +++ b/ate/utils.py @@ -263,6 +263,9 @@ def is_variable(tup): if callable(item): return False + if isinstance(item, types.ModuleType): + return False + if name.startswith("__"): return False diff --git a/tests/test_utils.py b/tests/test_utils.py index 655338d1..4b6a7e43 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -278,3 +278,18 @@ class TestUtils(ApiServerUnittest): with self.assertRaises(exception.VariableNotFound): utils.search_conf_item("/user/local/bin", "variable", "SECRET_KEY") + + def test_is_variable(self): + var1 = 123 + var2 = "abc" + self.assertTrue(utils.is_variable(("var1", var1))) + self.assertTrue(utils.is_variable(("var2", var2))) + + __var = 123 + self.assertFalse(utils.is_variable(("__var", __var))) + + func = lambda x: x + 1 + self.assertFalse(utils.is_variable(("func", func))) + + self.assertFalse(utils.is_variable(("os", os))) + self.assertFalse(utils.is_variable(("utils", utils)))