Use eval instead of codecs.lookup to trigger UTF-8 generation.

This commit is contained in:
Martin v. Löwis 2011-09-28 09:15:11 +02:00
parent 418170c50e
commit 0c9fe4d109
1 changed files with 4 additions and 6 deletions

View File

@ -857,12 +857,10 @@ class SizeofTest(unittest.TestCase):
s = chr(0x4000) # 4 bytes canonical representation s = chr(0x4000) # 4 bytes canonical representation
check(s, size(compactfields) + 4) check(s, size(compactfields) + 4)
try: try:
# FIXME: codecs.lookup(str) calls encoding.search_function() which # eval() will trigger the generation of the UTF-8 representation
# calls __import__ using str in the module name. __import__ encodes # as a side effect
# the module name to the file system encoding (which is the locale eval(s)
# encoding), so test_sys fails if the locale encoding is not UTF-8. except NameError:
codecs.lookup(s) # produces 4 bytes UTF-8
except LookupError:
check(s, size(compactfields) + 4 + 4) check(s, size(compactfields) + 4 + 4)
# TODO: add check that forces the presence of wchar_t representation # TODO: add check that forces the presence of wchar_t representation
# TODO: add check that forces layout of unicodefields # TODO: add check that forces layout of unicodefields