aboutsummaryrefslogtreecommitdiffstats
path: root/functest/core/testcase.py
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2017-05-06 09:32:36 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2017-05-06 09:41:31 +0200
commitd37f6a64ed9aa88bd73d0c0fe6d774d91286420c (patch)
tree3e74d37b76e0f24d67305caa38042329273c14c7 /functest/core/testcase.py
parent1d5e199517ff09d959a1240f3b4e715be799058b (diff)
Implement TestCase __str__()
It's designed to be called by run_tests.py when printing the results of test cases and when generating the global report. Change-Id: If4a6f023ef2344bbc4f940d07dde4b776dce5d68 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'functest/core/testcase.py')
-rw-r--r--functest/core/testcase.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/functest/core/testcase.py b/functest/core/testcase.py
index 62465542..b220a587 100644
--- a/functest/core/testcase.py
+++ b/functest/core/testcase.py
@@ -43,6 +43,21 @@ class TestCase(object):
self.start_time = ""
self.stop_time = ""
+ 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"