Skip to content

Commit 94b93ef

Browse files
committed
Update platform._sys_version()
1 parent f9be944 commit 94b93ef

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

Lib/platform.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,7 +1035,9 @@ def processor():
10351035
r'([\w.+]+)\s*' # "version<space>"
10361036
r'\(#?([^,]+)' # "(#buildno"
10371037
r'(?:,\s*([\w ]*)' # ", builddate"
1038-
r'(?:,\s*([\w :]*))?)?\)\s*' # ", buildtime)<space>"
1038+
r'(?:,\s*([\w :]*))?)?' # ", buildtime"
1039+
r'(?:,\s*([\w :]*))?' # ", build details"
1040+
r'\)\s*' # ")<space>"
10391041
r'\[([^\]]+)\]?', re.ASCII) # "[compiler]"
10401042

10411043
_ironpython_sys_version_parser = re.compile(
@@ -1114,7 +1116,7 @@ def _sys_version(sys_version=None):
11141116
raise ValueError(
11151117
'failed to parse Jython sys.version: %s' %
11161118
repr(sys_version))
1117-
version, buildno, builddate, buildtime, _ = match.groups()
1119+
version, buildno, builddate, buildtime, _, _ = match.groups()
11181120
if builddate is None:
11191121
builddate = ''
11201122
compiler = sys.platform
@@ -1136,7 +1138,7 @@ def _sys_version(sys_version=None):
11361138
raise ValueError(
11371139
'failed to parse CPython sys.version: %s' %
11381140
repr(sys_version))
1139-
version, buildno, builddate, buildtime, compiler = \
1141+
version, buildno, builddate, buildtime, _, compiler = \
11401142
match.groups()
11411143
name = 'CPython'
11421144
if builddate is None:

Lib/test/test_platform.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def tearDown(self):
119119
sys.platform = self.save_platform
120120

121121
def test_sys_version(self):
122-
# Old test.
122+
# Test platform._sys_version()
123123
for input, output in (
124124
('2.4.3 (#1, Jun 21 2006, 13:54:21) \n[GCC 3.3.4 (pre 3.3.5 20040809)]',
125125
('CPython', '2.4.3', '', '', '1', 'Jun 21 2006 13:54:21', 'GCC 3.3.4 (pre 3.3.5 20040809)')),
@@ -143,6 +143,11 @@ def test_sys_version(self):
143143
('CPython', '2.4.3', '', '', 'truncation', '', 'GCC')),
144144
('2.4.3 (truncation) \n[GCC]',
145145
('CPython', '2.4.3', '', '', 'truncation', '', 'GCC')),
146+
('3.12.0a3+ (heads/py_build_str:f9be94491f, '
147+
'Dec 7 2022, 21:57:04, debug build) '
148+
'[GCC 12.2.1 20221121 (Red Hat 12.2.1-4)]',
149+
('CPython', '3.12.0a3+', '', '', 'heads/py_build_str:f9be94491f',
150+
'Dec 7 2022 21:57:04', 'GCC 12.2.1 20221121 (Red Hat 12.2.1-4)')),
146151
):
147152
# branch and revision are not "parsed", but fetched
148153
# from sys._git. Ignore them

0 commit comments

Comments
 (0)