Author: Ronan Lamy <ronan.l...@gmail.com>
Branch: 
Changeset: r78601:f7292d95a6a9
Date: 2015-07-18 21:48 +0100
http://bitbucket.org/pypy/pypy/changeset/f7292d95a6a9/

Log:    Add another test for properties (fails on PyPy)

diff --git a/rpython/annotator/test/test_annrpython.py 
b/rpython/annotator/test/test_annrpython.py
--- a/rpython/annotator/test/test_annrpython.py
+++ b/rpython/annotator/test/test_annrpython.py
@@ -4433,6 +4433,35 @@
         with py.test.raises(annmodel.UnionError) as exc:
             a.build_types(f2, [int])
 
+    @py.test.mark.xfail("'__pypy__' in sys.modules")
+    def test_property_union_2(self):
+        class Base(object):
+            pass
+
+        class A(Base):
+            def __init__(self):
+                pass
+
+            @property
+            def x(self):
+                return 42
+
+        class B(Base):
+            def __init__(self, x):
+                self.x = x
+
+        def f(n):
+            if n < 0:
+                obj = A()
+            else:
+                obj = B(n)
+            return obj.x
+        a = self.RPythonAnnotator()
+        # Ideally, this should translate to something sensible,
+        # but for now, UnionError is better than silently mistranslating.
+        with py.test.raises(annmodel.UnionError):
+            a.build_types(f, [int])
+
 
 def g(n):
     return [0, 1, 2, n]
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to