From 50c1fa44f35b9d383ffbc3e045a94419f6c347d1 Mon Sep 17 00:00:00 2001
From: Hubert Kario <hubert@kario.pl>
Date: Thu, 23 Feb 2023 23:03:24 +0100
Subject: [PATCH] use recommended convention for testing that no warnings were
 raised

---
 src/ecdsa/test_der.py | 30 ++++++++++++------------------
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/src/ecdsa/test_der.py b/src/ecdsa/test_der.py
index 0ca5bd7f..833d12d8 100644
--- a/src/ecdsa/test_der.py
+++ b/src/ecdsa/test_der.py
@@ -144,26 +144,22 @@ def test_old_call_convention(self):
 
     def test_new_call_convention(self):
         """This is how it should be called now."""
-        warnings.simplefilter("always")
-        with pytest.warns(None) as warns:
+        # make sure no warnings are raised
+        with warnings.catch_warnings():
+            warnings.simplefilter("error")
             der = encode_bitstring(b"\xff", 0)
 
-        # verify that new call convention doesn't raise Warnings
-        self.assertEqual(len(warns), 0)
-
         self.assertEqual(der, b"\x03\x02\x00\xff")
 
     def test_implicit_unused_bits(self):
         """
         Writing bit string with already included the number of unused bits.
         """
-        warnings.simplefilter("always")
-        with pytest.warns(None) as warns:
+        # make sure no warnings are raised
+        with warnings.catch_warnings():
+            warnings.simplefilter("error")
             der = encode_bitstring(b"\x00\xff", None)
 
-        # verify that new call convention doesn't raise Warnings
-        self.assertEqual(len(warns), 0)
-
         self.assertEqual(der, b"\x03\x02\x00\xff")
 
     def test_explicit_unused_bits(self):
@@ -203,22 +199,20 @@ def test_old_call_convention(self):
         self.assertEqual(rest, b"")
 
     def test_new_call_convention(self):
-        warnings.simplefilter("always")
-        with pytest.warns(None) as warns:
+        # make sure no warnings are raised
+        with warnings.catch_warnings():
+            warnings.simplefilter("error")
             bits, rest = remove_bitstring(b"\x03\x02\x00\xff", 0)
 
-        self.assertEqual(len(warns), 0)
-
         self.assertEqual(bits, b"\xff")
         self.assertEqual(rest, b"")
 
     def test_implicit_unexpected_unused(self):
-        warnings.simplefilter("always")
-        with pytest.warns(None) as warns:
+        # make sure no warnings are raised
+        with warnings.catch_warnings():
+            warnings.simplefilter("error")
             bits, rest = remove_bitstring(b"\x03\x02\x00\xff", None)
 
-        self.assertEqual(len(warns), 0)
-
         self.assertEqual(bits, (b"\xff", 0))
         self.assertEqual(rest, b"")
 
