diff --git a/pkgs/development/python-modules/websockets/default.nix b/pkgs/development/python-modules/websockets/default.nix index 907024735afb..918cb54ae5a6 100644 --- a/pkgs/development/python-modules/websockets/default.nix +++ b/pkgs/development/python-modules/websockets/default.nix @@ -24,26 +24,31 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools ]; - patchPhase = '' - # Disable all tests that need to terminate within a predetermined amount of - # time. This is nondeterministic. - sed -i 's/with self.assertCompletesWithin.*:/if True:/' \ - tests/legacy/test_protocol.py + patchPhase = + '' + # Disable all tests that need to terminate within a predetermined amount of + # time. This is nondeterministic. + sed -i 's/with self.assertCompletesWithin.*:/if True:/' \ + tests/legacy/test_protocol.py - # Disables tests relying on tight timeouts to avoid failures like: - # File "/build/source/tests/legacy/test_protocol.py", line 1270, in test_keepalive_ping_with_no_ping_timeout - # ping_1_again, ping_2 = tuple(self.protocol.pings) - # ValueError: too many values to unpack (expected 2) - for t in \ - test_keepalive_ping_stops_when_connection_closing \ - test_keepalive_ping_does_not_crash_when_connection_lost \ - test_keepalive_ping \ - test_keepalive_ping_not_acknowledged_closes_connection \ - test_keepalive_ping_with_no_ping_timeout \ - ; do - sed -i "s/def $t(/def skip_$t(/" tests/legacy/test_protocol.py - done - ''; + # Disables tests relying on tight timeouts to avoid failures like: + # File "/build/source/tests/legacy/test_protocol.py", line 1270, in test_keepalive_ping_with_no_ping_timeout + # ping_1_again, ping_2 = tuple(self.protocol.pings) + # ValueError: too many values to unpack (expected 2) + for t in \ + test_keepalive_ping_stops_when_connection_closing \ + test_keepalive_ping_does_not_crash_when_connection_lost \ + test_keepalive_ping \ + test_keepalive_ping_not_acknowledged_closes_connection \ + test_keepalive_ping_with_no_ping_timeout \ + ; do + sed -i "s/def $t(/def skip_$t(/" tests/legacy/test_protocol.py + done + '' + + lib.optionalString (pythonOlder "3.11") '' + # Our Python 3.10 and older raise SSLError instead of SSLCertVerificationError + sed -i "s/def test_reject_invalid_server_certificate(/def skip_test_reject_invalid_server_certificate(/" tests/sync/test_client.py + ''; nativeCheckInputs = [ unittestCheckHook ];