[pypy-svn] r10258 - in pypy/dist/pypy/translator: . genc/test

arigo at codespeak.net arigo at codespeak.net
Sat Apr 2 19:44:16 CEST 2005


Author: arigo
Date: Sat Apr  2 19:44:16 2005
New Revision: 10258

Modified:
   pypy/dist/pypy/translator/genc/test/test_ctrans.py
   pypy/dist/pypy/translator/typer.py
Log:
Typo in typer.insert_link_conversions().  Test.


Modified: pypy/dist/pypy/translator/genc/test/test_ctrans.py
==============================================================================
--- pypy/dist/pypy/translator/genc/test/test_ctrans.py	(original)
+++ pypy/dist/pypy/translator/genc/test/test_ctrans.py	Sat Apr  2 19:44:16 2005
@@ -317,6 +317,20 @@
         result = fn(l, 2**64)
         assert result == list('abc')
 
+    def test_type_conversion(self):
+        # obfuscated test case specially for typer.insert_link_conversions()
+        def type_conversion(n):
+            if n > 3:
+                while n > 0:
+                    n = n-1
+                    if n == 5:
+                        n += 3.1416
+            return n
+        fn = self.getcompiled(type_conversion)
+        assert fn(3) == 3
+        assert fn(5) == 0
+        assert abs(fn(7) + 0.8584) < 1E-5
+
 
 class TestTypedTestCase(TestAnnotatedTestCase):
 

Modified: pypy/dist/pypy/translator/typer.py
==============================================================================
--- pypy/dist/pypy/translator/typer.py	(original)
+++ pypy/dist/pypy/translator/typer.py	Sat Apr  2 19:44:16 2005
@@ -145,7 +145,7 @@
                     newblock = insert_empty_block(self.annotator.translator,
                                                   link)
                     # ...and do the conversions there.
-                    self.insert_link_conversions(block)
+                    self.insert_link_conversions(newblock)
                     break   # done with this link
                 block.operations += convops
                 link.args[i] = a1



More information about the Pypy-commit mailing list