diff options
Diffstat (limited to 'tests/hazmat/backends')
-rw-r--r-- | tests/hazmat/backends/test_openssl.py | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/tests/hazmat/backends/test_openssl.py b/tests/hazmat/backends/test_openssl.py index aa2122fb..09a7f0a5 100644 --- a/tests/hazmat/backends/test_openssl.py +++ b/tests/hazmat/backends/test_openssl.py @@ -13,6 +13,10 @@ from __future__ import absolute_import, division, print_function +import sys +import subprocess +import textwrap + import pretend import pytest @@ -215,11 +219,29 @@ class TestOpenSSLRandomEngine(object): # This must be the first test in the class so that the teardown method # has not (potentially) altered the default engine. def test_osrandom_engine_is_default(self): - e = backend._lib.ENGINE_get_default_RAND() - name = backend._lib.ENGINE_get_name(e) - assert name == backend._lib.Cryptography_osrandom_engine_name - res = backend._lib.ENGINE_free(e) - assert res == 1 + engine_name = subprocess.check_output( + [sys.executable, + "-c", + textwrap.dedent( + """ + import sys + from cryptography.hazmat.backends.openssl.backend import backend + + e = backend._lib.ENGINE_get_default_RAND() + name = backend._lib.ENGINE_get_name(e) + sys.stdout.write(backend._ffi.string(name)) + res = backend._lib.ENGINE_free(e) + assert res == 1 + """ + ) + ] + ) + + osrandom_engine_name = backend._ffi.string( + backend._lib.Cryptography_osrandom_engine_name + ) + + assert engine_name == osrandom_engine_name def test_osrandom_sanity_check(self): # This test serves as a check against catastrophic failure. |