From 7d289eb79eef13e73f01a5a48df5ce1b576a8dc2 Mon Sep 17 00:00:00 2001 From: Victor Silva Date: Tue, 23 Sep 2014 23:27:48 -0300 Subject: [PATCH] Explicit complaint about old OpenSSL when testing Running the tests with an old version of OpenSSL results in many tests breaking without any hints of the real cause. This handles that explictly, stopping execution whenever the version is older than 1.0 and exiting with an informative message. Co-Authored-By: Rodrigo Duarte Sousa Closes-Bug: 1225084 Change-Id: I55e151d3fb4ddbe5ee4bf64bfdc597b4da73f6bb --- keystoneclient/tests/test_cms.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/keystoneclient/tests/test_cms.py b/keystoneclient/tests/test_cms.py index 8cef98772..9af3bd4fc 100644 --- a/keystoneclient/tests/test_cms.py +++ b/keystoneclient/tests/test_cms.py @@ -30,6 +30,18 @@ class CMSTest(utils.TestCase, testresources.ResourcedTestCase): resources = [('examples', client_fixtures.EXAMPLES_RESOURCE)] + def __init__(self, *args, **kwargs): + super(CMSTest, self).__init__(*args, **kwargs) + process = subprocess.Popen(['openssl', 'version'], + stdout=subprocess.PIPE) + out, err = process.communicate() + # Example output: 'OpenSSL 0.9.8za 5 Jun 2014' + openssl_version = out.split()[1] + + if err or openssl_version.startswith(b'0'): + raise Exception('Your version of OpenSSL is not supported. ' + 'You will need to update it to 1.0 or later.') + def test_cms_verify(self): self.assertRaises(exceptions.CertificateConfigError, cms.cms_verify,