summary refs log tree commit diff
diff options
context:
space:
mode:
authorqolii <36613499+qolii@users.noreply.github.com>2018-09-06 10:02:48 +0000
committerJörg Thalheim <Mic92@users.noreply.github.com>2018-09-06 11:02:48 +0100
commit9f0efc084c30516bba320f60e3066e1eef020c2a (patch)
tree9a0bea2a3ccf38f8e8b766ab350d348e4ee2ac9d
parentf6ffd9c8ba35543712ec39029917c78e9480f5f1 (diff)
downloadnixlib-9f0efc084c30516bba320f60e3066e1eef020c2a.tar
nixlib-9f0efc084c30516bba320f60e3066e1eef020c2a.tar.gz
nixlib-9f0efc084c30516bba320f60e3066e1eef020c2a.tar.bz2
nixlib-9f0efc084c30516bba320f60e3066e1eef020c2a.tar.lz
nixlib-9f0efc084c30516bba320f60e3066e1eef020c2a.tar.xz
nixlib-9f0efc084c30516bba320f60e3066e1eef020c2a.tar.zst
nixlib-9f0efc084c30516bba320f60e3066e1eef020c2a.zip
pyopenssl: Disable some tests, for libressl support. (#46072)
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix45
1 files changed, 37 insertions, 8 deletions
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index 035c70f3995a..d6b966b6df3c 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -11,6 +11,41 @@
 , glibcLocales
 }:
 
+with stdenv.lib;
+
+
+let
+  # https://github.com/pyca/pyopenssl/issues/791
+  # These tests, we disable in the case that libressl is passed in as openssl.
+  failingLibresslTests = [
+    "test_op_no_compression"
+    "test_npn_advertise_error"
+    "test_npn_select_error"
+    "test_npn_client_fail"
+    "test_npn_success"
+    "test_use_certificate_chain_file_unicode"
+    "test_use_certificate_chain_file_bytes"
+    "test_add_extra_chain_cert"
+    "test_set_session_id_fail"
+    "test_verify_with_revoked"
+    "test_set_notAfter"
+    "test_set_notBefore"
+  ];
+
+  disabledTests = [
+    # https://github.com/pyca/pyopenssl/issues/692
+    # These tests, we disable always.
+    "test_set_default_verify_paths"
+    "test_fallback_default_verify_paths"
+  ] ++ (optionals (hasPrefix "libressl" openssl.meta.name) failingLibresslTests);
+
+  # Compose the final string expression, including the "-k" and the single quotes.
+  testExpression = optionalString (disabledTests != [])
+    "-k 'not ${concatStringsSep " and not " disabledTests}'";
+
+in
+
+
 buildPythonPackage rec {
   pname = "pyOpenSSL";
   version = "18.0.0";
@@ -22,16 +57,10 @@ buildPythonPackage rec {
 
   outputs = [ "out" "dev" ];
 
-  preCheck = ''
-    sed -i 's/test_set_default_verify_paths/noop/' tests/test_ssl.py
-    # https://github.com/pyca/pyopenssl/issues/692
-    sed -i 's/test_fallback_default_verify_paths/noop/' tests/test_ssl.py
-  '';
-
   checkPhase = ''
     runHook preCheck
     export LANG="en_US.UTF-8"
-    py.test
+    py.test tests ${testExpression}
     runHook postCheck
   '';
 
@@ -43,4 +72,4 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ cryptography pyasn1 idna ];
 
   checkInputs = [ pytest pretend flaky glibcLocales ];
-}
\ No newline at end of file
+}