[Python-checkins] r70614 - in python/trunk/Lib: platform.py test/test_platform.py
benjamin.peterson
python-checkins at python.org
Thu Mar 26 20:09:21 CET 2009
Author: benjamin.peterson
Date: Thu Mar 26 20:09:21 2009
New Revision: 70614
Log:
add support for PyPy
Modified:
python/trunk/Lib/platform.py
python/trunk/Lib/test/test_platform.py
Modified: python/trunk/Lib/platform.py
==============================================================================
--- python/trunk/Lib/platform.py (original)
+++ python/trunk/Lib/platform.py Thu Mar 26 20:09:21 2009
@@ -1270,6 +1270,11 @@
'(?: \(([\d\.]+)\))?'
' on (.NET [\d\.]+)')
+_pypy_sys_version_parser = re.compile(
+ r'([\w.+]+)\s*'
+ '\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*'
+ '\[PyPy [^\]]+\]?')
+
_sys_version_cache = {}
def _sys_version(sys_version=None):
@@ -1325,6 +1330,16 @@
version, buildno, builddate, buildtime, _ = match.groups()
compiler = sys.platform
+ elif "PyPy" in sys_version:
+ # PyPy
+ name = "PyPy"
+ match = _pypy_sys_version_parser.match(sys_version)
+ if match is None:
+ raise ValueError("failed to parse PyPy sys.version: %s" %
+ repr(sys_version))
+ version, buildno, builddate, buildtime = match.groups()
+ compiler = ""
+
else:
# CPython
match = _sys_version_parser.match(sys_version)
Modified: python/trunk/Lib/test/test_platform.py
==============================================================================
--- python/trunk/Lib/test/test_platform.py (original)
+++ python/trunk/Lib/test/test_platform.py Thu Mar 26 20:09:21 2009
@@ -93,6 +93,11 @@
:
("Jython", "2.5.0", "trunk", "6107",
('trunk:6107', 'Mar 26 2009'), "java1.5.0_16"),
+ ("2.5.2 (63378, Mar 26 2009, 18:03:29)\n[PyPy 1.0.0]",
+ ('PyPy', 'trunk', '63378'), self.save_platform)
+ :
+ ("PyPy", "2.5.2", "trunk", "63378", ('63378', 'Mar 26 2009'),
+ "")
}
for (version_tag, subversion, sys_platform), info in \
sys_versions.iteritems():
More information about the Python-checkins
mailing list