[pypy-svn] pypy default: better recognize that this is not a released version of PyPy

hpk42 commits-noreply at bitbucket.org
Mon Jan 17 18:15:52 CET 2011


Author: holger krekel <holger at merlinux.eu>
Branch: 
Changeset: r40793:a90000edb419
Date: 2011-01-17 17:09 +0100
http://bitbucket.org/pypy/pypy/changeset/a90000edb419/

Log:	better recognize that this is not a released version of PyPy bump
	version shown on interactive session and generally enhance prompt
	and sys.version if the version tag is not "final" -

diff --git a/pypy/module/sys/test/test_version.py b/pypy/module/sys/test/test_version.py
--- a/pypy/module/sys/test/test_version.py
+++ b/pypy/module/sys/test/test_version.py
@@ -3,3 +3,12 @@
         import sys
         assert ("MSC v." in sys.version or
                 "GCC " in sys.version)
+
+def test_get_version(space, monkeypatch):
+    from pypy.module.sys import version
+    monkeypatch.setattr(version, 'PYPY_VERSION', (2,5,0, "final", 1))
+    res = space.unwrap(version.get_version(space))
+    assert "[PyPy 2.5.0]" in res
+    monkeypatch.setattr(version, 'PYPY_VERSION', (2,6,3, "alpha", 5))
+    res = space.unwrap(version.get_version(space))
+    assert "[PyPy 2.6.3-alpha5]" in res

diff --git a/pypy/module/sys/version.py b/pypy/module/sys/version.py
--- a/pypy/module/sys/version.py
+++ b/pypy/module/sys/version.py
@@ -9,7 +9,7 @@
 CPYTHON_VERSION            = (2, 7, 0, "final", 42)   #XXX # sync patchlevel.h
 CPYTHON_API_VERSION        = 1013   #XXX # sync with include/modsupport.h
 
-PYPY_VERSION               = (1, 4, 1, "beta", 0)    #XXX # sync patchlevel.h
+PYPY_VERSION               = (1, 5, 0, "alpha", 0)    #XXX # sync patchlevel.h
 
 if platform.name == 'msvc':
     COMPILER_INFO = 'MSC v.%d 32 bit' % (platform.version * 10 + 600)
@@ -44,16 +44,17 @@
     return space.wrap(CPYTHON_VERSION)
 
 def get_version(space):
-    return space.wrap("%d.%d.%d (%s, %s, %s)\n[PyPy %d.%d.%d%s]" % (
+    ver = "%d.%d.%d" % (PYPY_VERSION[0], PYPY_VERSION[1], PYPY_VERSION[2])
+    if PYPY_VERSION[3] != "final":
+        ver = ver + "-%s%d" %(PYPY_VERSION[3], PYPY_VERSION[4])
+    return space.wrap("%d.%d.%d (%s, %s, %s)\n[PyPy %s%s]" % (
         CPYTHON_VERSION[0],
         CPYTHON_VERSION[1],
         CPYTHON_VERSION[2],
         hg_universal_id(),
         date,
         time,
-        PYPY_VERSION[0],
-        PYPY_VERSION[1],
-        PYPY_VERSION[2],
+        ver,
         compiler_version()))
 
 def get_winver(space):

diff --git a/pypy/interpreter/interactive.py b/pypy/interpreter/interactive.py
--- a/pypy/interpreter/interactive.py
+++ b/pypy/interpreter/interactive.py
@@ -29,7 +29,7 @@
         namespace_keys = self.space.unwrap(w_res)
         w_res = self.space.call_method(self.space.builtin.getdict(), "keys")
         builtin_keys = self.space.unwrap(w_res)
-        
+
         matches = []
         n = len(text)
 
@@ -71,8 +71,8 @@
     def get_class_members(self, w_clz):
         s = self.space
         words = self.get_words(w_clz)
-        try:                
-            w_bases = s.getattr(w_clz, s.wrap("__bases__"))             
+        try:
+            w_bases = s.getattr(w_clz, s.wrap("__bases__"))
             bases_w = s.fixedview(w_bases)
 
         except error.OperationError:
@@ -114,7 +114,7 @@
             try:
                 readline.read_history_file()
             except IOError:
-                pass # guess it doesn't exit 
+                pass # guess it doesn't exit
 
             import atexit
             atexit.register(readline.write_history_file)
@@ -126,10 +126,13 @@
         #    sys.version, self.__class__.__name__,
         #    self.space.__class__.__name__)
         w_sys = self.space.sys
-        major, minor, micro, _, _ = self.space.unwrap(self.space.sys.get('pypy_version_info'))
+        major, minor, micro, tag, rev = self.space.unwrap(self.space.sys.get('pypy_version_info'))
         elapsed = time.time() - self.space._starttime
-        banner = "PyPy %d.%d.%d in %r on top of Python %s (startuptime: %.2f secs)" % (
-            major, minor, micro, self.space, sys.version.split()[0], elapsed)
+        version = "%d.%d.%d" % (major, minor, micro)
+        if tag != "final":
+            version += "-%s%d" %(tag, rev)
+        banner = "PyPy %s in %r on top of Python %s (startuptime: %.2f secs)" % (
+            version, self.space, sys.version.split()[0], elapsed)
         code.InteractiveConsole.interact(self, banner)
 
     def raw_input(self, prompt=""):
@@ -215,12 +218,12 @@
         if self.tracelevel > 0 and tracelevel == 0:
             s.reset_trace()
             print "Tracing disabled"
-            
+
         if self.tracelevel == 0 and tracelevel > 0:
             trace.create_trace_space(s)
             self.space.unsettrace()
             print "Tracing enabled"
-                        
+
         self.tracelevel = tracelevel
 
 


More information about the Pypy-commit mailing list