[pypy-svn] r24833 - pypy/branch/explicit-exceptions/translator/c/test

cfbolz at codespeak.net cfbolz at codespeak.net
Thu Mar 23 00:13:29 CET 2006


Author: cfbolz
Date: Thu Mar 23 00:13:28 2006
New Revision: 24833

Modified:
   pypy/branch/explicit-exceptions/translator/c/test/test_exceptiontransform.py
Log:
test for bare except


Modified: pypy/branch/explicit-exceptions/translator/c/test/test_exceptiontransform.py
==============================================================================
--- pypy/branch/explicit-exceptions/translator/c/test/test_exceptiontransform.py	(original)
+++ pypy/branch/explicit-exceptions/translator/c/test/test_exceptiontransform.py	Thu Mar 23 00:13:28 2006
@@ -109,7 +109,37 @@
     result = f(8)
     assert result == 2
 
+def test_bare_except():
+    def one(x):
+        if x == 1:
+            raise ValueError()
+        elif x == 2:
+            raise TypeError()
+        return x - 5
 
+    def foo(x):
+        x = one(x)
+        try:
+            x = one(x)
+        except:
+            return 1 + x
+        return 4 + x
+    t, g = transform_func(foo, [int])
+    assert len(list(g.iterblocks())) == 5
+    f = compile_func(foo, [int])
+    result = interpret(foo, [6])
+    assert result == 2
+    result = f(6)
+    assert result == 2
+    result = interpret(foo, [7])
+    assert result == 3
+    result = f(7)
+    assert result == 3
+    result = interpret(foo, [8])
+    assert result == 2
+    result = f(8)
+    assert result == 2
+    
 def test_raises():
     def foo(x):
         if x:



More information about the Pypy-commit mailing list