Portable usage of subprocess w/ python3 and python2.6 fixes.
diff --git a/tests/hazmat/backends/test_openssl.py b/tests/hazmat/backends/test_openssl.py
index 2d95359..75369ef 100644
--- a/tests/hazmat/backends/test_openssl.py
+++ b/tests/hazmat/backends/test_openssl.py
@@ -216,7 +216,7 @@
         name = backend._lib.ENGINE_get_name(current_default)
         assert name == backend._lib.Cryptography_osrandom_engine_name
 
-    def test_osrandom_engine_is_default(self):
+    def test_osrandom_engine_is_default(self, tmpdir):
         engine_printer = textwrap.dedent(
             """
             import sys
@@ -224,21 +224,24 @@
 
             e = backend._lib.ENGINE_get_default_RAND()
             name = backend._lib.ENGINE_get_name(e)
-            sys.stdout.write(backend._ffi.string(name))
+            sys.stdout.write(backend._ffi.string(name).decode('ascii'))
             res = backend._lib.ENGINE_free(e)
             assert res == 1
             """
         )
+        engine_name = tmpdir.join('engine_name')
 
-        engine_name = subprocess.check_output(
-            [sys.executable, "-c", engine_printer]
-        )
+        with engine_name.open('w') as out:
+            subprocess.check_call(
+                [sys.executable, "-c", engine_printer],
+                stdout=out
+            )
 
         osrandom_engine_name = backend._ffi.string(
             backend._lib.Cryptography_osrandom_engine_name
         )
 
-        assert engine_name == osrandom_engine_name
+        assert engine_name.read().encode('ascii') == osrandom_engine_name
 
     def test_osrandom_sanity_check(self):
         # This test serves as a check against catastrophic failure.