Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
Update platform._sys_version()
  • Loading branch information
vstinner committed Dec 7, 2022
commit 94b93efeeda862cc78ec3989d4bd4623e64b21f1
8 changes: 5 additions & 3 deletions Lib/platform.py
Original file line number Diff line number Diff line change
Expand Up @@ -1035,7 +1035,9 @@ def processor():
r'([\w.+]+)\s*' # "version<space>"
r'\(#?([^,]+)' # "(#buildno"
r'(?:,\s*([\w ]*)' # ", builddate"
r'(?:,\s*([\w :]*))?)?\)\s*' # ", buildtime)<space>"
r'(?:,\s*([\w :]*))?)?' # ", buildtime"
r'(?:,\s*([\w :]*))?' # ", build details"
r'\)\s*' # ")<space>"
r'\[([^\]]+)\]?', re.ASCII) # "[compiler]"

_ironpython_sys_version_parser = re.compile(
Expand Down Expand Up @@ -1114,7 +1116,7 @@ def _sys_version(sys_version=None):
raise ValueError(
'failed to parse Jython sys.version: %s' %
repr(sys_version))
version, buildno, builddate, buildtime, _ = match.groups()
version, buildno, builddate, buildtime, _, _ = match.groups()
if builddate is None:
builddate = ''
compiler = sys.platform
Expand All @@ -1136,7 +1138,7 @@ def _sys_version(sys_version=None):
raise ValueError(
'failed to parse CPython sys.version: %s' %
repr(sys_version))
version, buildno, builddate, buildtime, compiler = \
version, buildno, builddate, buildtime, _, compiler = \
match.groups()
name = 'CPython'
if builddate is None:
Expand Down
7 changes: 6 additions & 1 deletion Lib/test/test_platform.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ def tearDown(self):
sys.platform = self.save_platform

def test_sys_version(self):
# Old test.
# Test platform._sys_version()
for input, output in (
('2.4.3 (#1, Jun 21 2006, 13:54:21) \n[GCC 3.3.4 (pre 3.3.5 20040809)]',
('CPython', '2.4.3', '', '', '1', 'Jun 21 2006 13:54:21', 'GCC 3.3.4 (pre 3.3.5 20040809)')),
Expand All @@ -143,6 +143,11 @@ def test_sys_version(self):
('CPython', '2.4.3', '', '', 'truncation', '', 'GCC')),
('2.4.3 (truncation) \n[GCC]',
('CPython', '2.4.3', '', '', 'truncation', '', 'GCC')),
('3.12.0a3+ (heads/py_build_str:f9be94491f, '
'Dec 7 2022, 21:57:04, debug build) '
'[GCC 12.2.1 20221121 (Red Hat 12.2.1-4)]',
('CPython', '3.12.0a3+', '', '', 'heads/py_build_str:f9be94491f',
'Dec 7 2022 21:57:04', 'GCC 12.2.1 20221121 (Red Hat 12.2.1-4)')),
):
# branch and revision are not "parsed", but fetched
# from sys._git. Ignore them
Expand Down