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 <rodrigods@lsd.ufcg.edu.br>
Closes-Bug: 1225084

Change-Id: I55e151d3fb4ddbe5ee4bf64bfdc597b4da73f6bb
This commit is contained in:
Victor Silva 2014-09-23 23:27:48 -03:00 committed by Rodrigo Duarte Sousa
parent eee5bd6f81
commit 7d289eb79e
1 changed files with 12 additions and 0 deletions

View File

@ -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,