zanieb · GitHub

Bug report

Bug description:

The PGO test suite fails on the test_datetime tests; in particular, the test_strftime_y2k test cases. It looks like the padding is wrong:

cpython-3.14> AssertionError: '1-01-01' != '0001-01-01'

I believe this is related to:

Note this is occuring in the python-build-standalone builds. I have not reproduced it independently. This isn't a problem during our x86_64_v4 builds because we're not running PGO on them. The normal x86_64 build is working.

Toggle for the full test output
cpython-3.14> test_system_transitions (test.datetimetester.ZoneInfoTest_Fast.test_system_transitions) ... ok
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=1, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '1-01-01' != '0001-01-01'
cpython-3.14> - 1-01-01
cpython-3.14> + 0001-01-01
cpython-3.14> ? +++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=1, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=48, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '48-01-01' != '0048-01-01'
cpython-3.14> - 48-01-01
cpython-3.14> + 0048-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=48, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=70, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '70-01-01' != '0070-01-01'
cpython-3.14> - 70-01-01
cpython-3.14> + 0070-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=70, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=99, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '99-01-01' != '0099-01-01'
cpython-3.14> - 99-01-01
cpython-3.14> + 0099-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=99, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=99, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '99-01-01' != '0099-01-01'
cpython-3.14> - 99-01-01
cpython-3.14> + 0099-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=99, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=999, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '999-01-01' != '0999-01-01'
cpython-3.14> - 999-01-01
cpython-3.14> + 0999-01-01
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDate_Fast.test_strftime_y2k) (year=999, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '9' != '09'
cpython-3.14> - 9
cpython-3.14> + 09
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=1, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '1-01-01' != '0001-01-01'
cpython-3.14> - 1-01-01
cpython-3.14> + 0001-01-01
cpython-3.14> ? +++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=1, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=48, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '48-01-01' != '0048-01-01'
cpython-3.14> - 48-01-01
cpython-3.14> + 0048-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=48, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=70, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '70-01-01' != '0070-01-01'
cpython-3.14> - 70-01-01
cpython-3.14> + 0070-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=70, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=99, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '99-01-01' != '0099-01-01'
cpython-3.14> - 99-01-01
cpython-3.14> + 0099-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=99, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=99, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '99-01-01' != '0099-01-01'
cpython-3.14> - 99-01-01
cpython-3.14> + 0099-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=99, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=999, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '999-01-01' != '0999-01-01'
cpython-3.14> - 999-01-01
cpython-3.14> + 0999-01-01
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTime_Fast.test_strftime_y2k) (year=999, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '9' != '09'
cpython-3.14> - 9
cpython-3.14> + 09
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=1, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '1-01-01' != '0001-01-01'
cpython-3.14> - 1-01-01
cpython-3.14> + 0001-01-01
cpython-3.14> ? +++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=1, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=48, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '48-01-01' != '0048-01-01'
cpython-3.14> - 48-01-01
cpython-3.14> + 0048-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=48, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=70, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '70-01-01' != '0070-01-01'
cpython-3.14> - 70-01-01
cpython-3.14> + 0070-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=70, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=99, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '99-01-01' != '0099-01-01'
cpython-3.14> - 99-01-01
cpython-3.14> + 0099-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=99, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=99, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '99-01-01' != '0099-01-01'
cpython-3.14> - 99-01-01
cpython-3.14> + 0099-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=99, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=999, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '999-01-01' != '0999-01-01'
cpython-3.14> - 999-01-01
cpython-3.14> + 0999-01-01
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestDateTimeTZ_Fast.test_strftime_y2k) (year=999, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '9' != '09'
cpython-3.14> - 9
cpython-3.14> + 09
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=1, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '1-01-01' != '0001-01-01'
cpython-3.14> - 1-01-01
cpython-3.14> + 0001-01-01
cpython-3.14> ? +++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=1, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=48, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '48-01-01' != '0048-01-01'
cpython-3.14> - 48-01-01
cpython-3.14> + 0048-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=48, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=70, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '70-01-01' != '0070-01-01'
cpython-3.14> - 70-01-01
cpython-3.14> + 0070-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=70, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=99, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '99-01-01' != '0099-01-01'
cpython-3.14> - 99-01-01
cpython-3.14> + 0099-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=99, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=99, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '99-01-01' != '0099-01-01'
cpython-3.14> - 99-01-01
cpython-3.14> + 0099-01-01
cpython-3.14> ? ++
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=99, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '0' != '00'
cpython-3.14> - 0
cpython-3.14> + 00
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTi
cpython-3.14> me_Fast.test_strftime_y2k) (year=999, specifier='F')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '999-01-01' != '0999-01-01'
cpython-3.14> - 999-01-01
cpython-3.14> + 0999-01-01
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ======================================================================
cpython-3.14> FAIL: test_strftime_y2k (test.datetimetester.TestSubclassDateTime_Fast.test_strftime_y2k) (year=999, specifier='C')
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Traceback (most recent call last):
cpython-3.14>   File "/build/Python-3.14.0a3/Lib/test/datetimetester.py", line 1814, in test_strftime_y2k
cpython-3.14>     self.assertEqual(d.strftime(f"%{specifier}"), expected)
cpython-3.14>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cpython-3.14> AssertionError: '9' != '09'
cpython-3.14> - 9
cpython-3.14> + 09
cpython-3.14> ? +
cpython-3.14>
cpython-3.14>
cpython-3.14> ----------------------------------------------------------------------
cpython-3.14> Ran 1058 tests in 3.495s
cpython-3.14>
cpython-3.14> FAILED (failures=48, skipped=52)
cpython-3.14> test test_datetime failed

You can see the run in CI here, though it does not include the test output because you have to hack the test suite to show verbose output with --pgo.

I believe this is basically a duplicate of #123681, but I figured I'd open a issue for discoverability.

CPython versions tested on:

3.14

Operating systems tested on:

Linux

Linked PRs

Read the original on github.com ↗