From b199e30680e182c6776f30caae089db811ad1d52 Mon Sep 17 00:00:00 2001 From: Dima Date: Sat, 7 Sep 2019 22:12:11 +0200 Subject: [PATCH] rfc6555: selectively disable networked tests (incl. tiny nitpicks from vcunat) --- .../python-modules/rfc6555/default.nix | 10 ++++-- .../rfc6555/disable_network_tests.patch | 31 +++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/python-modules/rfc6555/disable_network_tests.patch diff --git a/pkgs/development/python-modules/rfc6555/default.nix b/pkgs/development/python-modules/rfc6555/default.nix index 636427cf7139..0bd7b0ca686c 100644 --- a/pkgs/development/python-modules/rfc6555/default.nix +++ b/pkgs/development/python-modules/rfc6555/default.nix @@ -11,9 +11,13 @@ buildPythonPackage rec { propagatedBuildInputs = with pythonPackages; [ selectors2 ]; - # tests are disabled as rfc6555's 'non-network' tests still require a - # functional DNS stack to pass. - doCheck = false; + checkInputs = with pythonPackages; [ mock pytest ]; + # disabling tests that require a functional DNS IPv{4,6} stack to pass. + patches = [ ./disable_network_tests.patch ]; + # default doCheck = true; is not enough, apparently + postCheck = '' + py.test tests/ + ''; meta = { description = "Python implementation of the Happy Eyeballs Algorithm"; diff --git a/pkgs/development/python-modules/rfc6555/disable_network_tests.patch b/pkgs/development/python-modules/rfc6555/disable_network_tests.patch new file mode 100644 index 000000000000..dc59111ac43f --- /dev/null +++ b/pkgs/development/python-modules/rfc6555/disable_network_tests.patch @@ -0,0 +1,31 @@ +diff --git a/tests/test_create_connection.py b/tests/test_create_connection.py +index fe38026..cdb26b4 100644 +--- a/tests/test_create_connection.py ++++ b/tests/test_create_connection.py +@@ -6,10 +6,12 @@ from .test_utils import requires_network + + + class _BasicCreateConnectionTests(object): ++ + @requires_network + def test_create_connection_google(self): + sock = rfc6555.create_connection(('www.google.com', 80)) + ++ @requires_network + @pytest.mark.parametrize('timeout', [None, 5.0]) + def test_create_connection_has_proper_timeout(self, timeout): + sock = rfc6555.create_connection(('www.google.com', 80), timeout=timeout) +diff --git a/tests/test_ipv6.py b/tests/test_ipv6.py +index 3ee8564..f0db28e 100644 +--- a/tests/test_ipv6.py ++++ b/tests/test_ipv6.py +@@ -2,7 +2,9 @@ import socket + import mock + import rfc6555 + ++from .test_utils import requires_network + ++@requires_network + def test_ipv6_available(): + assert rfc6555._detect_ipv6() +