[pypy-svn] r25689 - in pypy/dist/pypy/translator: . test
arigo at codespeak.net
arigo at codespeak.net
Tue Apr 11 10:42:47 CEST 2006
Author: arigo
Date: Tue Apr 11 10:42:46 2006
New Revision: 25689
Modified:
pypy/dist/pypy/translator/geninterplevel.py
pypy/dist/pypy/translator/test/snippet.py
pypy/dist/pypy/translator/test/test_geninterp.py
Log:
Fix for negative longs in geninterp.
Modified: pypy/dist/pypy/translator/geninterplevel.py
==============================================================================
--- pypy/dist/pypy/translator/geninterplevel.py (original)
+++ pypy/dist/pypy/translator/geninterplevel.py Tue Apr 11 10:42:46 2006
@@ -127,9 +127,9 @@
'def %s(value):\n'
' dic = space.newdict([])\n'
' space.exec_("", dic, dic) # init __builtins__\n'
- ' return space.eval("long(%%r, 16)" %% value, dic, dic)' % unique)
+ ' return space.eval(value, dic, dic)' % unique)
self.initcode.append1('%s = %s(%r)' % (
- name, unique, hex(value)[2:-1] ) )
+ name, unique, repr(value) ) )
def bltinmod_helper(self, mod):
name = self.uniquename("mod_%s" % mod.__name__)
Modified: pypy/dist/pypy/translator/test/snippet.py
==============================================================================
--- pypy/dist/pypy/translator/test/snippet.py (original)
+++ pypy/dist/pypy/translator/test/snippet.py Tue Apr 11 10:42:46 2006
@@ -623,6 +623,9 @@
def t_issubclass(x, y):
return issubclass(type(x), (int, long)) and issubclass(type(y), int)
+def t_neg_long():
+ return -132L
+
# --------------------(Currently) Non runnable Functions ---------------------
Modified: pypy/dist/pypy/translator/test/test_geninterp.py
==============================================================================
--- pypy/dist/pypy/translator/test/test_geninterp.py (original)
+++ pypy/dist/pypy/translator/test/test_geninterp.py Tue Apr 11 10:42:46 2006
@@ -270,3 +270,8 @@
fn = self.build_interpfunc(snippet.t_issubclass)
result = fn(1, 2)
assert result == True
+
+ def test_negative_long(self):
+ fn = self.build_interpfunc(snippet.t_neg_long)
+ result = fn()
+ assert result == -132L and type(result) is long
More information about the Pypy-commit
mailing list