8000 [3.14] gh-128051: Fix tests if sys.float_repr_style is 'legacy' (GH-135908) by miss-islington · Pull Request #136025 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content
[3.14] gh-128051: Fix tests if sys.float_repr_style is 'legacy' (GH-135908) #136025
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 27, 2025
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
4 changes: 2 additions & 2 deletions Lib/difflib.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ class SequenceMatcher:
sequences. As a rule of thumb, a .ratio() value over 0.6 means the
sequences are close matches:

>>> print(round(s.ratio(), 3))
0.866
>>> print(round(s.ratio(), 2))
0.87
>>>

If you're only interested in where the sequences match,
Expand Down
3 changes: 2 additions & 1 deletion Lib/test/test_builtin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2991,7 +2991,8 @@ def test_namespace_order(self):

def load_tests(loader, tests, pattern):
from doctest import DocTestSuite
tests.addTest(DocTestSuite(builtins))
if sys.float_repr_style == 'short':
tests.addTest(DocTestSuite(builtins))
return tests

if __name__ == "__main__":
Expand Down
12 changes: 6 additions & 6 deletions Lib/test/test_configparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -986,12 +986,12 @@ def test_add_section_default(self):

def test_defaults_keyword(self):
"""bpo-23835 fix for ConfigParser"""
cf = self.newconfig(defaults={1: 2.4})
self.assertEqual(cf[self.default_section]['1'], '2.4')
self.assertAlmostEqual(cf[self.default_section].getfloat('1'), 2.4)
cf = self.newconfig(defaults={"A": 5.2})
self.assertEqual(cf[self.default_section]['a'], '5.2')
self.assertAlmostEqual(cf[self.default_section].getfloat('a'), 5.2)
cf = self.newconfig(defaults={1: 2.5})
self.assertEqual(cf[self.default_section]['1'], '2.5')
self.assertAlmostEqual(cf[self.default_section].getfloat('1'), 2.5)
cf = self.newconfig(defaults={"A": 5.25})
self.assertEqual(cf[self.default_section]['a'], '5.25')
self.assertAlmostEqual(cf[self.default_section].getfloat('a'), 5.25)


class ConfigParserTestCaseNoInterpolation(BasicTestCase, unittest.TestCase):
Expand Down
4 changes: 3 additions & 1 deletion Lib/test/test_ctypes/test_parameters.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import sys
import unittest
import test.support
from ctypes import (CDLL, PyDLL, ArgumentError,
Expand Down Expand Up @@ -240,7 +241,8 @@ def test_parameter_repr(self):
self.assertRegex(repr(c_ulonglong.from_param(20000)), r"^<cparam '[LIQ]' \(20000\)>$")
self.assertEqual(repr(c_float.from_param(1.5)), "<cparam 'f' (1.5)>")
self.assertEqual(repr(c_double.from_param(1.5)), "<cparam 'd' (1.5)>")
self.assertEqual(repr(c_double.from_param(1e300)), "<cparam 'd' (1e+300)>")
if sys.float_repr_style == 'short':
self.assertEqual(repr(c_double.from_param(1e300)), "<cparam 'd' (1e+300)>")
self.assertRegex(repr(c_longdouble.from_param(1.5)), r"^<cparam ('d' \(1.5\)|'g' at 0x[A-Fa-f0-9]+)>$")
self.assertRegex(repr(c_char_p.from_param(b'hihi')), r"^<cparam 'z' \(0x[A-Fa-f0-9]+\)>$")
self.assertRegex(repr(c_wchar_p.from_param('hihi')), r"^<cparam 'Z' \(0x[A-Fa-f0-9]+\)>$")
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_enum.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def load_tests(loader, tests, ignore):
optionflags=doctest.ELLIPSIS|doctest.NORMALIZE_WHITESPACE,
))
howto_tests = os.path.join(REPO_ROOT, 'Doc/howto/enum.rst')
if os.path.exists(howto_tests):
if os.path.exists(howto_tests) and sys.float_repr_style == 'short':
tests.addTests(doctest.DocFileSuite(
howto_tests,
module_relative=False,
Expand Down
2 changes: 2 additions & 0 deletions Lib/test/test_float.py
Original file line number Diff line number Diff line change
Expand Up @@ -795,6 +795,8 @@ def test_format(self):
self.assertRaises(ValueError, format, x, '.6,n')

@support.requires_IEEE_754
@unittest.skipUnless(sys.float_repr_style == 'short',
"applies only when using short float repr style")
def test_format_testfile(self):
with open(format_testfile, encoding="utf-8") as testfile:
for line in testfile:
Expand Down
10 changes: 5 additions & 5 deletions Lib/test/test_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -346,12 +346,12 @@ def __bytes__(self):
testcommon(b"%s", memoryview(b"abc"), b"abc")
# %a will give the equivalent of
# repr(some_obj).encode('ascii', 'backslashreplace')
testcommon(b"%a", 3.14, b"3.14")
testcommon(b"%a", 3.25, b"3.25")
testcommon(b"%a", b"ghi", b"b'ghi'")
testcommon(b"%a", "jkl", b"'jkl'")
testcommon(b"%a", "\u0544", b"'\\u0544'")
# %r is an alias for %a
testcommon(b"%r", 3.14, b"3.14")
testcommon(b"%r", 3.25, b"3.25")
testcommon(b"%r", b"ghi", b"b'ghi'")
testcommon(b"%r", "jkl", b"'jkl'")
testcommon(b"%r", "\u0544", b"'\\u0544'")
Expand Down Expand Up @@ -407,19 +407,19 @@ def test_non_ascii(self):

self.assertEqual(format("abc", "\u2007<5"), "abc\u2007\u2007")
self.assertEqual(format(123, "\u2007<5"), "123\u2007\u2007")
self.assertEqual(format(12.3, "\u2007<6"), "12.3\u2007\u2007")
self.assertEqual(format(12.5, "\u2007<6"), "12.5\u2007\u2007")
self.assertEqual(format(0j, "\u2007<4"), "0j\u2007\u2007")
self.assertEqual(format(1+2j, "\u2007<8"), "(1+2j)\u2007\u2007")

self.assertEqual(format("abc", "\u2007>5"), "\u2007\u2007abc")
self.assertEqual(format(123, "\u2007>5"), "\u2007\u2007123")
self.assertEqual(format(12.3, "\u2007>6"), "\u2007\u200712.3")
self.assertEqual(format(12.5, "\u2007>6"), "\u2007\u200712.5")
self.assertEqual(format(1+2j, "\u2007>8"), "\u2007\u2007(1+2j)")
self.assertEqual(format(0j, "\u2007>4"), "\u2007\u20070j")

self.assertEqual(format("abc", "\u2007^5"), "\u2007abc\u2007")
self.assertEqual(format(123, "\u2007^5"), "\u2007123\u2007")
self.assertEqual(format(12.3, "\u2007^6"), "\u200712.3\u2007")
self.assertEqual(format(12.5, "\u2007^6"), "\u200712.5\u2007")
self.assertEqual(format(1+2j, "\u2007^8"), "\u2007(1+2j)\u2007")
self.assertEqual(format(0j, "\u2007^4"), "\u20070j\u2007")

Expand Down
8 changes: 4 additions & 4 deletions Lib/test/test_fstring.py
Original file line number Diff line number Diff line change
Expand Up @@ -1336,9 +1336,9 @@ def test_equal_equal(self):

def test_conversions(self):
self.assertEqual(f'{3.14:10.10}', ' 3.14')
self.assertEqual(f'{3.14!s:10.10}', '3.14 ')
self.assertEqual(f'{3.14!r:10.10}', '3.14 ')
self.assertEqual(f'{3.14!a:10.10}', '3.14 ')
self.assertEqual(f'{1.25!s:10.10}', '1.25 ')
self.assertEqual(f'{1.25!r:10.10}', '1.25 ')
self.assertEqual(f'{1.25!a:10.10}', '1.25 ')

self.assertEqual(f'{"a"}', 'a')
self.assertEqual(f'{"a"!r}', "'a'")
Expand All @@ -1347,7 +1347,7 @@ def test_conversions(self):
# Conversions can have trailing whitespace after them since it
# does not provide any significance
self.assertEqual(f"{3!s }", "3")
self.assertEqual(f'{3.14!s :10.10}', '3.14 ')
self.assertEqual(f'{1.25!s :10.10}', '1.25 ')

# Not a conversion.
self.assertEqual(f'{"a!r"}', "a!r")
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_json/test_tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ def test_colors(self):
(r'" \"foo\" "', f'{t.string}" \\"foo\\" "{t.reset}'),
('"α"', f'{t.string}"\\u03b1"{t.reset}'),
('123', f'{t.number}123{t.reset}'),
('-1.2345e+23', f'{t.number}-1.2345e+23{t.reset}'),
('-1.25e+23', f'{t.number}-1.25e+23{t.reset}'),
(r'{"\\": ""}',
f'''\
{ob}
Expand Down
4 changes: 2 additions & 2 deletions Lib/test/test_optparse.py
Original file line number Diff line number Diff line change
Expand Up @@ -615,9 +615,9 @@ def test_float_default(self):
self.parser.add_option(
"-p", "--prob",
help="blow up with probability PROB [default: %default]")
self.parser.set_defaults(prob=0.43)
self.parser.set_defaults(prob=0.25)
expected_help = self.help_prefix + \
" -p PROB, --prob=PROB blow up with probability PROB [default: 0.43]\n"
" -p PROB, --prob=PROB blow up with probability PROB [default: 0.25]\n"
self.assertHelp(self.parser, expected_help)

def test_alt_expand(self):
Expand Down
6 changes: 3 additions & 3 deletions Lib/test/test_peepholer.py
Original file line number Diff line number Diff line change
Expand Up @@ -718,9 +718,9 @@ def format(fmt, *values):
self.assertEqual(format('x = %d!', 1234), 'x = 1234!')
self.assertEqual(format('x = %x!', 1234), 'x = 4d2!')
self.assertEqual(format('x = %f!', 1234), 'x = 1234.000000!')
self.assertEqual(format('x = %s!', 1234.5678901), 'x = 1234.5678901!')
self.assertEqual(format('x = %f!', 1234.5678901), 'x = 1234.567890!')
self.assertEqual(format('x = %d!', 1234.5678901), 'x = 1234!')
self.assertEqual(format('x = %s!', 1234.0000625), 'x = 1234.0000625!')
self.assertEqual(format('x = %f!', 1234.0000625), 'x = 1234.000063!')
self.assertEqual(format('x = %d!', 1234.0000625), 'x = 1234!')
self.assertEqual(format('x = %s%% %%%%', 1234), 'x = 1234% %%')
self.assertEqual(format('x = %s!', '%% %s'), 'x = %% %s!')
self.assertEqual(format('x = %s, y = %d', 12, 34), 'x = 12, y = 34')
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_pprint.py
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ def __new__(cls, celsius_degrees):
return super().__new__(Temperature, celsius_degrees)
def __repr__(self):
kelvin_degrees = self + 273.15
return f"{kelvin_degrees}°K"
return f"{kelvin_degrees:.2f}°K"
self.assertEqual(pprint.pformat(Temperature(1000)), '1273.15°K')

def test_sorted_dict(self):
Expand Down
20 changes: 10 additions & 10 deletions Lib/test/test_reprlib.py
Original file line number Diff line number Diff line change
Expand Up @@ -397,20 +397,20 @@ def test_valid_indent(self):
'object': {
1: 'two',
b'three': [
(4.5, 6.7),
(4.5, 6.25),
[set((8, 9)), frozenset((10, 11))],
],
},
'tests': (
(dict(indent=None), '''\
{1: 'two', b'three': [(4.5, 6.7), [{8, 9}, frozenset({10, 11})]]}'''),
{1: 'two', b'three': [(4.5, 6.25), [{8, 9}, frozenset({10, 11})]]}'''),
(dict(indent=False), '''\
{
1: 'two',
b'three': [
(
4.5,
6.7,
6.25,
),
[
{
Expand All @@ -430,7 +430,7 @@ def test_valid_indent(self):
b'three': [
(
4.5,
6.7,
6.25,
),
[
{
Expand All @@ -450,7 +450,7 @@ def test_valid_indent(self):
b'three': [
(
4.5,
6.7,
6.25,
),
[
{
Expand All @@ -470,7 +470,7 @@ def test_valid_indent(self):
b'three': [
(
4.5,
6.7,
6.25,
),
[
{
Expand All @@ -490,7 +490,7 @@ def test_valid_indent(self):
b'three': [
(
4.5,
6.7,
6.25,
),
[
{
Expand Down Expand Up @@ -518,7 +518,7 @@ def test_valid_indent(self):
b'three': [
(
4.5,
6.7,
6.25,
),
[
{
Expand All @@ -538,7 +538,7 @@ def test_valid_indent(self):
-->b'three': [
-->-->(
-->-->-->4.5,
-->-->-->6.7,
-->-->-->6.25,
-->-->),
-->-->[
-->-->-->{
Expand All @@ -558,7 +558,7 @@ def test_valid_indent(self):
....b'three': [
........(
............4.5,
............6.7,
............6.25,
........),
........[
............{
Expand Down
3 changes: 2 additions & 1 deletion Lib/test/test_statistics.py
< 27A9 /tr>
Original file line number Diff line number Diff line change
Expand Up @@ -3319,7 +3319,8 @@ def tearDown(self):
def load_tests(loader, tests, ignore):
"""Used for doctest/unittest integration."""
tests.addTests(doctest.DocTestSuite())
tests.addTests(doctest.DocTestSuite(statistics))
if sys.float_repr_style == 'short':
tests.addTests(doctest.DocTestSuite(statistics))
return tests


Expand Down
8 changes: 4 additions & 4 deletions Lib/test/test_str.py
Original file line number Diff line number Diff line change
Expand Up @@ -1231,10 +1231,10 @@ def __repr__(self):
self.assertEqual('{0:\x00^6}'.format(3), '\x00\x003\x00\x00\x00')
self.assertEqual('{0:<6}'.format(3), '3 ')

self.assertEqual('{0:\x00<6}'.format(3.14), '3.14\x00\x00')
self.assertEqual('{0:\x01<6}'.format(3.14), '3.14\x01\x01')
self.assertEqual('{0:\x00^6}'.format(3.14), '\x003.14\x00')
self.assertEqual('{0:^6}'.format(3.14), ' 3.14 ')
self.assertEqual('{0:\x00<6}'.format(3.25), '3.25\x00\x00')
self.assertEqual('{0:\x01<6}'.format(3.25), '3.25\x01\x01')
self.assertEqual('{0:\x00^6}'.format(3.25), '\x003.25\x00')
self.assertEqual('{0:^6}'.format(3.25), ' 3.25 ')

self.assertEqual('{0:\x00<12}'.format(3+2.0j), '(3+2j)\x00\x00\x00\x00\x00\x00')
self.assertEqual('{0:\x01<12}'.format(3+2.0j), '(3+2j)\x01\x01\x01\x01\x01\x01')
Expand Down
4 changes: 2 additions & 2 deletions Lib/test/test_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -517,8 +517,8 @@ def test(f, format_spec, result):
# and a number after the decimal. This is tricky, because
# a totally empty format specifier means something else.
# So, just use a sign flag
test(1e200, '+g', '+1e+200')
test(1e200, '+', '+1e+200')
test(1.25e200, '+g', '+1.25e+200')
test(1.25e200, '+', '+1.25e+200')

test(1.1e200, '+g', '+1.1e+200')
test(1.1e200, '+', '+1.1e+200')
Expand Down
Loading
0