Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions Lib/test/libregrtest/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,25 @@ def clear_caches():
else:
importlib_metadata.FastPath.__new__.cache_clear()

try:
encodings = sys.modules['encodings']
except KeyError:
pass
else:
encodings._cache.clear()

try:
codecs = sys.modules['codecs']
except KeyError:
pass
else:
# There's no direct API to clear the codecs search cache, but
# `unregister` clears it implicitly.
def noop_search_function(name):
return None
codecs.register(noop_search_function)
codecs.unregister(noop_search_function)


def get_build_info():
# Get most important configure and build options as a list of strings.
Expand Down
5 changes: 3 additions & 2 deletions Lib/test/test_codecs.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

from test import support
from test.support import os_helper
from test.support import warnings_helper

try:
import _testlimitedcapi
Expand Down Expand Up @@ -3902,8 +3903,8 @@ def test_encodings_normalize_encoding(self):
self.assertEqual(normalize('utf...8'), 'utf...8')

# Non-ASCII *encoding* is deprecated.
with self.assertWarnsRegex(DeprecationWarning,
"Support for non-ascii encoding names will be removed in 3.17"):
msg = "Support for non-ascii encoding names will be removed in 3.17"
with warnings_helper.check_warnings((msg, DeprecationWarning)):
self.assertEqual(normalize('utf\xE9\u20AC\U0010ffff-8'), 'utf_8')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we have to bump the 3.17 to 3.20 if we want to have a 5 year deprecation phase.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's up for discussion in the issue; here I'm only unbreaking the buildbots.



Expand Down
3 changes: 2 additions & 1 deletion Lib/test/test_email/test_email.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@

from test import support
from test.support import threading_helper
from test.support import warnings_helper
from test.support.os_helper import unlink
from test.test_email import openfile, TestEmailBase

Expand Down Expand Up @@ -5738,7 +5739,7 @@ def test_rfc2231_bad_character_in_encoding(self):
"""
msg = email.message_from_string(m)
with self.assertWarns(DeprecationWarning):
with warnings_helper.check_warnings(('', DeprecationWarning)):
self.assertEqual(msg.get_filename(), 'myfile.txt')

def test_rfc2231_single_tick_in_filename_extended(self):
Expand Down
3 changes: 2 additions & 1 deletion Lib/test/test_email/test_headerregistry.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from email import headerregistry
from email.headerregistry import Address, Group
from test.support import ALWAYS_EQ
from test.support import warnings_helper


DITTO = object()
Expand Down Expand Up @@ -252,7 +253,7 @@ def content_type_as_value(self,
if 'utf-8%E2%80%9D' in source and 'ascii' not in source:
import encodings
encodings._cache.clear()
with self.assertWarns(DeprecationWarning):
with warnings_helper.check_warnings(('', DeprecationWarning)):
h = self.make_header('Content-Type', source)
else:
h = self.make_header('Content-Type', source)
Expand Down
Loading