Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gh-128051: fix tests if sys.float_repr_style is 'legacy'#135908

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
vstinner merged 7 commits intopython:mainfromskirpichev:fix-legacy-repr-tests
Jun 27, 2025
Merged
Show file tree
Hide file tree
Changes fromall 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 deletionsLib/difflib.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionLib/test/test_builtin.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionsLib/test/test_configparser.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionLib/test/test_ctypes/test_parameters.py
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
import sys
import unittest
import test.support
from ctypes import (CDLL, PyDLL, ArgumentError,
Expand DownExpand 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)>")
Copy link
Member

Choose a reason for hiding this comment

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

Please don't remove tests. Maybe skip it ifif getattr(sys, 'float_repr_style', '') == 'short':.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Any idea why this was added, given we have otherc_double test?

Copy link
Member

Choose a reason for hiding this comment

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

The test was added by commit916610e.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, I know. As well, as other tests in this function, but why? This value fits in double? We have only one test for float/longdouble.

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 deletionLib/test/test_enum.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionsLib/test/test_float.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionsLib/test/test_format.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 DownExpand 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 deletionsLib/test/test_fstring.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionLib/test/test_json/test_tool.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionsLib/test/test_optparse.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionsLib/test/test_peepholer.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionLib/test/test_pprint.py
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -458,7 +458,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 deletionsLib/test/test_reprlib.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 DownExpand 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 deletionLib/test/test_statistics.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionsLib/test/test_str.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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 deletionsLib/test/test_types.py
View file
Open in desktop
Original file line numberDiff line numberDiff 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

[8]ページ先頭

©2009-2025 Movatter.jp