aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-01-04 19:42:36 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-01-09 11:53:48 -0600
commit5e612d0ac078bae569dece5f718166a834fa9f7e (patch)
tree54fcdd690f6d8224753674061e1de79b4b680bda
parent5001c3f7479ff28457948a582e5e7446ac838ca6 (diff)
downloadcryptography-5e612d0ac078bae569dece5f718166a834fa9f7e.tar.gz
cryptography-5e612d0ac078bae569dece5f718166a834fa9f7e.tar.bz2
cryptography-5e612d0ac078bae569dece5f718166a834fa9f7e.zip
add is_available() to CommonCrypto binding, use it for skipif
-rw-r--r--cryptography/hazmat/bindings/commoncrypto/binding.py8
-rw-r--r--tests/hazmat/bindings/test_commoncrypto.py7
2 files changed, 11 insertions, 4 deletions
diff --git a/cryptography/hazmat/bindings/commoncrypto/binding.py b/cryptography/hazmat/bindings/commoncrypto/binding.py
index 796135fc..ac5997ea 100644
--- a/cryptography/hazmat/bindings/commoncrypto/binding.py
+++ b/cryptography/hazmat/bindings/commoncrypto/binding.py
@@ -13,7 +13,9 @@
from __future__ import absolute_import, division, print_function
-from cryptography.hazmat.bindings.utils import build_ffi
+from cryptography.hazmat.bindings.utils import (
+ build_ffi, binding_available
+)
class Binding(object):
@@ -38,3 +40,7 @@ class Binding(object):
cls.ffi, cls.lib = build_ffi(cls._module_prefix, cls._modules,
"", "", [])
+
+ @classmethod
+ def is_available(cls):
+ return binding_available(cls._ensure_ffi_initialized)
diff --git a/tests/hazmat/bindings/test_commoncrypto.py b/tests/hazmat/bindings/test_commoncrypto.py
index 1eb71151..db3d1b74 100644
--- a/tests/hazmat/bindings/test_commoncrypto.py
+++ b/tests/hazmat/bindings/test_commoncrypto.py
@@ -13,18 +13,19 @@
import pytest
+from cryptography.hazmat.bindings.commoncrypto.binding import Binding
-@pytest.mark.commoncrypto
+
+@pytest.mark.skipif(not Binding.is_available(),
+ reason="CommonCrypto not available")
class TestCommonCrypto(object):
def test_binding_loads(self):
- from cryptography.hazmat.bindings.commoncrypto.binding import Binding
binding = Binding()
assert binding
assert binding.lib
assert binding.ffi
def test_binding_returns_same_lib(self):
- from cryptography.hazmat.bindings.commoncrypto.binding import Binding
binding = Binding()
binding2 = Binding()
assert binding.lib == binding2.lib