From: Cédric Ollivier Date: Sun, 21 Oct 2018 15:03:51 +0000 (+0200) Subject: Harden Rally generate report X-Git-Tag: opnfv-9.0.0~146 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=4d3627e56d333e313b67bbf1e7880b11883b5652;p=functest.git 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 --- 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)