aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2018-10-21 17:03:51 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2018-10-21 17:45:41 +0200
commit2bf5968dd1cdb976d961a2e8f7de3842970a9572 (patch)
treec96fa3cb73c36326dd0641226f5facdd8c2163eb
parent712db890f1801ae6ac3f2d87a1cfe36af9b0e8ff (diff)
Harden Rally generate report
It converts html_file to str and raises all possible exceptions. It sometimes fails when locally generating reports. Change-Id: Idf6a12aaac4561800cd5e364f8bcc495aabbee1d Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 4d3627e56d333e313b67bbf1e7880b11883b5652)
-rw-r--r--functest/opnfv_tests/openstack/tempest/tempest.py5
-rw-r--r--functest/tests/unit/openstack/tempest/test_tempest.py6
2 files changed, 4 insertions, 7 deletions
diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py
index 910b54615..4d5a0f547 100644
--- a/functest/opnfv_tests/openstack/tempest/tempest.py
+++ b/functest/opnfv_tests/openstack/tempest/tempest.py
@@ -314,9 +314,8 @@ class TempestCommon(singlevm.VmReady2):
html_file = os.path.join(self.res_dir,
"tempest-report.html")
cmd = ["rally", "verify", "report", "--type", "html", "--uuid",
- self.verification_id, "--to", html_file]
- subprocess.Popen(cmd, stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT)
+ self.verification_id, "--to", str(html_file)]
+ subprocess.check_output(cmd)
def update_rally_regex(self, rally_conf='/etc/rally/rally.conf'):
"""Set image name as tempest img_name_regex"""
diff --git a/functest/tests/unit/openstack/tempest/test_tempest.py b/functest/tests/unit/openstack/tempest/test_tempest.py
index c87c0b085..67e7dd431 100644
--- a/functest/tests/unit/openstack/tempest/test_tempest.py
+++ b/functest/tests/unit/openstack/tempest/test_tempest.py
@@ -170,8 +170,7 @@ class OSTempestTesting(unittest.TestCase):
mock_logger_info. \
assert_any_call("Starting Tempest test suite: '%s'.", cmd)
- @mock.patch('functest.opnfv_tests.openstack.tempest.tempest.'
- 'subprocess.Popen')
+ @mock.patch('subprocess.check_output')
def test_generate_report(self, mock_popen):
self.tempestcommon.verification_id = "1234"
html_file = os.path.join(
@@ -182,8 +181,7 @@ class OSTempestTesting(unittest.TestCase):
cmd = ["rally", "verify", "report", "--type", "html", "--uuid",
"1234", "--to", html_file]
self.tempestcommon.generate_report()
- mock_popen.assert_called_once_with(cmd, stdout=mock.ANY,
- stderr=mock.ANY)
+ mock_popen.assert_called_once_with(cmd)
@mock.patch('functest.opnfv_tests.openstack.tempest.tempest.'
'os.path.exists', return_value=False)