Skip to content

Commit 7be1f55

Browse files
committed
use _codecs._unregister_error to cleanup test state
1 parent dc9af16 commit 7be1f55

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

Lib/test/test_capi/test_codecs.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -747,19 +747,17 @@ def test_codec_stream_writer(self):
747747
class CAPICodecErrors(unittest.TestCase):
748748

749749
def test_codec_register_error(self):
750-
try:
751-
error_handler = _testcapi.codec_lookup_error('custom')
752-
except LookupError:
753-
error_handler = None
750+
# for cleaning up between tests
751+
from _codecs import _unregister_error as _codecs_unregister_error
754752

755-
if error_handler is None:
756-
def custom_error_handler(exc):
757-
raise exc
753+
self.assertRaises(LookupError, _testcapi.codec_lookup_error, 'custom')
758754

759-
error_handler = mock.Mock(wraps=custom_error_handler)
760-
_testcapi.codec_register_error('custom', error_handler)
761-
else:
762-
self.assertIsInstance(error_handler, mock.Mock)
755+
def custom_error_handler(exc):
756+
raise exc
757+
758+
error_handler = mock.Mock(wraps=custom_error_handler)
759+
_testcapi.codec_register_error('custom', error_handler)
760+
self.addCleanup(_codecs_unregister_error, 'custom')
763761

764762
self.assertRaises(UnicodeEncodeError, codecs.encode,
765763
'\xff', 'ascii', errors='custom')
@@ -769,7 +767,6 @@ def custom_error_handler(exc):
769767
self.assertRaises(UnicodeDecodeError, codecs.decode,
770768
b'\xff', 'ascii', errors='custom')
771769
error_handler.assert_called_once()
772-
error_handler.reset_mock()
773770

774771
def test_codec_lookup_error(self):
775772
codec_lookup_error = _testcapi.codec_lookup_error

0 commit comments

Comments
 (0)