diff options
author | Jose Lausuch <jose.lausuch@ericsson.com> | 2017-05-16 11:47:14 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-05-16 11:47:14 +0000 |
commit | ccb98c22390fd97a3bb55aa225c7241cc4daa85d (patch) | |
tree | f5b7987f8f9888d2c2b5d499aa8b0d4b455605f9 | |
parent | 696fb168cd72978c18a9c7f4d9d2ba60b80611ab (diff) | |
parent | 648d31af02248b8b2da059e228c10f1e3f81eb5b (diff) |
Merge "Modify TestCase.__str__() to use PrettyTable"
-rw-r--r-- | functest/core/testcase.py | 16 | ||||
-rw-r--r-- | functest/tests/unit/core/test_testcase.py | 6 | ||||
-rw-r--r-- | requirements.txt | 1 | ||||
-rw-r--r-- | test-requirements.txt | 1 |
4 files changed, 16 insertions, 8 deletions
diff --git a/functest/core/testcase.py b/functest/core/testcase.py index 49fae6097..317c4f59e 100644 --- a/functest/core/testcase.py +++ b/functest/core/testcase.py @@ -12,6 +12,8 @@ import logging import os +import prettytable + import functest.utils.functest_utils as ft_utils __author__ = "Cedric Ollivier <cedric.ollivier@orange.com>" @@ -49,14 +51,16 @@ class TestCase(object): 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, '+')) + msg = prettytable.PrettyTable( + header_style='upper', + field_names=['test case', 'project', 'duration', + 'result']) + msg.add_row([self.case_name, self.project_name, + self.get_duration(), result]) + return msg.get_string() 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', '+') + return super(TestCase, self).__str__() def get_duration(self): """Return the duration of the test case. diff --git a/functest/tests/unit/core/test_testcase.py b/functest/tests/unit/core/test_testcase.py index b25ce2260..08a717a29 100644 --- a/functest/tests/unit/core/test_testcase.py +++ b/functest/tests/unit/core/test_testcase.py @@ -191,11 +191,13 @@ class TestCaseTesting(unittest.TestCase): def test_str_project_name_ko(self): self.test.project_name = None - self.assertIn("INVALID OBJECT", str(self.test)) + self.assertIn("<functest.core.testcase.TestCase object at", + str(self.test)) def test_str_case_name_ko(self): self.test.case_name = None - self.assertIn("INVALID OBJECT", str(self.test)) + self.assertIn("<functest.core.testcase.TestCase object at", + str(self.test)) def test_str_pass(self): duration = '01:01' diff --git a/requirements.txt b/requirements.txt index ddf0b1c48..976deefa2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,3 +33,4 @@ click==6.6 openbaton-cli==2.2.1-beta7 mock==1.3.0 iniparse==0.4 +PrettyTable>=0.7.1,<0.8 # BSD diff --git a/test-requirements.txt b/test-requirements.txt index 088b38704..76e475dcc 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -26,3 +26,4 @@ robotframework-requests==0.3.8 robotframework-sshlibrary==2.1.3 subprocess32==3.2.7 virtualenv==15.1.0 +PrettyTable>=0.7.1,<0.8 # BSD |