summaryrefslogtreecommitdiffstats
path: root/tools/teststepstools.py
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2017-06-09 07:30:44 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-06-09 07:30:44 +0000
commit5fe9089057bf23fd7ff312779d928cc9932fd38b (patch)
treea065807fae088fff9e1089611b37f882eb07d3fb /tools/teststepstools.py
parent80c9f96f5e60ee6a2a93494a0aae82014c2311b6 (diff)
parentde6fc4b670fc42fc96f27f375fbcf7a099629434 (diff)
Merge "tests: Improvement of step driven testcases"
Diffstat (limited to 'tools/teststepstools.py')
-rw-r--r--tools/teststepstools.py40
1 files changed, 29 insertions, 11 deletions
diff --git a/tools/teststepstools.py b/tools/teststepstools.py
index d39f7f40..5d551c68 100644
--- a/tools/teststepstools.py
+++ b/tools/teststepstools.py
@@ -1,4 +1,4 @@
-# Copyright 2016 Intel Corporation.
+# Copyright 2016-2017 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -20,25 +20,23 @@ import logging
import subprocess
import locale
+_LOGGER = logging.getLogger(__name__)
+
class TestStepsTools(object):
""" Various tools and functions used by step driven testcases
"""
# Functions use nonstandard names to avoid conflicts with
# standard python keywords.
# pylint: disable=invalid-name
- def __init__(self):
- """ TestStepsTools initialization
- """
- self._logger = logging.getLogger(__name__)
-
- def Assert(self, condition):
+ @staticmethod
+ def Assert(condition):
""" Evaluate given `condition' and raise AssertionError
in case, that evaluation fails
"""
try:
- assert self.Eval(condition)
+ assert TestStepsTools.Eval(condition)
except AssertionError:
- self._logger.error('Condition %s is not True', condition)
+ _LOGGER.error('Condition %s is not True', condition)
raise
return True
@@ -63,7 +61,27 @@ class TestStepsTools(object):
return result is not None
@staticmethod
- def Exec(command, regex=None):
+ def Exec_Python(code):
+ """ Execute a python `code' and return True on success
+ """
+ # pylint: disable=exec-used
+ try:
+ exec(code, globals())
+ # pylint: disable=broad-except
+ # pylint: disable=bare-except
+ except:
+ _LOGGER.error('Execution of following code has failed %s', code)
+ return False
+ return True
+
+ @staticmethod
+ def validate_Exec_Python(result, dummy_code):
+ """ Validate result of python `code' execution
+ """
+ return result
+
+ @staticmethod
+ def Exec_Shell(command, regex=None):
""" Execute a shell `command' and return its output filtered
out by optional `regex' expression.
"""
@@ -84,7 +102,7 @@ class TestStepsTools(object):
return output
@staticmethod
- def validate_Exec(result, dummy_command, dummy_regex=None):
+ def validate_Exec_Shell(result, dummy_command, dummy_regex=None):
""" validate result of shell `command' execution
"""
return result is not None