[3.13] gh-126618: fix repr(itertools.count(sys.maxsize)) (GH-127048) (#127508)

gh-126618: fix repr(itertools.count(sys.maxsize)) (GH-127048)
(cherry picked from commit 930ba0ce60)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
This commit is contained in:
Miss Islington (bot) 2024-12-02 14:38:13 +01:00 committed by GitHub
parent 943e57e1ce
commit 4bafce0912
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 28 additions and 6 deletions

View file

@ -627,6 +627,15 @@ class TestBasicOps(unittest.TestCase):
self.assertEqual(next(c), -8)
self.assertEqual(repr(count(10.25)), 'count(10.25)')
self.assertEqual(repr(count(10.0)), 'count(10.0)')
self.assertEqual(repr(count(maxsize)), f'count({maxsize})')
c = count(maxsize - 1)
self.assertEqual(repr(c), f'count({maxsize - 1})')
next(c) # c is now at masize
self.assertEqual(repr(c), f'count({maxsize})')
next(c)
self.assertEqual(repr(c), f'count({maxsize + 1})')
self.assertEqual(type(next(count(10.0))), float)
for i in (-sys.maxsize-5, -sys.maxsize+5 ,-10, -1, 0, 10, sys.maxsize-5, sys.maxsize+5):
# Test repr
@ -707,6 +716,20 @@ class TestBasicOps(unittest.TestCase):
for proto in range(pickle.HIGHEST_PROTOCOL + 1):
self.pickletest(proto, count(i, j))
c = count(maxsize -2, 2)
self.assertEqual(repr(c), f'count({maxsize - 2}, 2)')
next(c) # c is now at masize
self.assertEqual(repr(c), f'count({maxsize}, 2)')
next(c)
self.assertEqual(repr(c), f'count({maxsize + 2}, 2)')
c = count(maxsize + 1, -1)
self.assertEqual(repr(c), f'count({maxsize + 1}, -1)')
next(c) # c is now at masize
self.assertEqual(repr(c), f'count({maxsize}, -1)')
next(c)
self.assertEqual(repr(c), f'count({maxsize - 1}, -1)')
@threading_helper.requires_working_threading()
def test_count_threading(self, step=1):
# this test verifies multithreading consistency, which is