aboutsummaryrefslogtreecommitdiffstats
path: root/functest/core/testcase.py
diff options
context:
space:
mode:
Diffstat (limited to 'functest/core/testcase.py')
-rw-r--r--functest/core/testcase.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/functest/core/testcase.py b/functest/core/testcase.py
index 62465542..49fae609 100644
--- a/functest/core/testcase.py
+++ b/functest/core/testcase.py
@@ -39,9 +39,24 @@ class TestCase(object):
self.project_name = kwargs.get('project_name', 'functest')
self.case_name = kwargs.get('case_name', '')
self.criteria = kwargs.get('criteria', 100)
- self.result = ""
- self.start_time = ""
- self.stop_time = ""
+ self.result = 0
+ self.start_time = 0
+ self.stop_time = 0
+
+ def __str__(self):
+ try:
+ assert self.project_name
+ assert self.case_name
+ result = 'PASS' if(self.is_successful(
+ ) == TestCase.EX_OK) else 'FAIL'
+ return ('| {0:<23} | {1:<13} | {2:<10} | {3:<13} |'
+ '\n{4:-<26}{4:-<16}{4:-<13}{4:-<16}{4}'.format(
+ self.case_name, self.project_name,
+ self.get_duration(), result, '+'))
+ except AssertionError:
+ self.__logger.error("We cannot print invalid objects")
+ return '| {0:^68} |\n{1:-<26}{1:-<16}{1:-<13}{1:-<16}{1}'.format(
+ 'INVALID OBJECT', '+')
def get_duration(self):
"""Return the duration of the test case.
@@ -57,7 +72,7 @@ class TestCase(object):
return "XX:XX"
return "{0[0]:02.0f}:{0[1]:02.0f}".format(divmod(
self.stop_time - self.start_time, 60))
- except Exception:
+ except Exception: # pylint: disable=broad-except
self.__logger.error("Please run test before getting the duration")
return "XX:XX"
@@ -75,7 +90,8 @@ class TestCase(object):
"""
try:
assert self.criteria
- if isinstance(self.result, int) and isinstance(self.criteria, int):
+ if (not isinstance(self.result, str) and
+ not isinstance(self.criteria, str)):
if self.result >= self.criteria:
return TestCase.EX_OK
else: