[pypy-commit] pypy type-specialized-instances: fixed some tests where storage items are erased. there is no general erasing pair anymore so we need to use the methods from the correct AbstractAttribute to (un)erase

l.diekmann noreply at buildbot.pypy.org
Mon Nov 21 16:49:00 CET 2011


Author: Lukas Diekmann <lukas.diekmann at uni-duesseldorf.de>
Branch: type-specialized-instances
Changeset: r49624:90348184732d
Date: 2011-11-21 16:44 +0100
http://bitbucket.org/pypy/pypy/changeset/90348184732d/

Log:	fixed some tests where storage items are erased. there is no general
	erasing pair anymore so we need to use the methods from the correct
	AbstractAttribute to (un)erase

diff --git a/pypy/objspace/std/test/test_mapdict.py b/pypy/objspace/std/test/test_mapdict.py
--- a/pypy/objspace/std/test/test_mapdict.py
+++ b/pypy/objspace/std/test/test_mapdict.py
@@ -159,6 +159,7 @@
     assert obj.getdictvalue(space, "a") == 50
     assert obj.getdictvalue(space, "b") == 60
     assert obj.getdictvalue(space, "c") == 70
+    #assert unerase_storage_items(obj.storage) == [50, 60, 70, lifeline1]
     assert unerase_storage_items(obj.storage[:-1], IntAttribute) == [50, 60, 70]
     assert unerase_storage_items(obj.storage[-1:], PlainAttribute) == [lifeline1]
     assert obj.getweakref() is lifeline1
@@ -168,7 +169,9 @@
     obj2.setdictvalue(space, "b", 160)
     obj2.setdictvalue(space, "c", 170)
     obj2.setweakref(space, lifeline2)
-    assert unerase_storage_items(obj2.storage) == [150, 160, 170, lifeline2]
+    #assert unerase_storage_items(obj2.storage) == [150, 160, 170, lifeline2]
+    assert unerase_storage_items(obj2.storage[:-1], IntAttribute) == [150, 160, 170]
+    assert unerase_storage_items(obj2.storage[-1:], PlainAttribute) == [lifeline2]
     assert obj2.getweakref() is lifeline2
 
     assert obj2.map is obj.map
@@ -279,7 +282,9 @@
     assert flag
     materialize_r_dict(space, obj, d)
     assert d == {"a": 5, "b": 6, "c": 7}
-    assert unerase_storage_items(obj.storage) == [50, 60, 70, w_d]
+    #assert unerase_storage_items(obj.storage) == [50, 60, 70, w_d]
+    assert unerase_storage_items(obj.storage[:-1], IntAttribute) == [50, 60, 70]
+    assert unerase_storage_items(obj.storage[-1:], PlainAttribute) == [w_d]
 
 
 def test_size_prediction():
@@ -463,12 +468,12 @@
         obj = objectcls()
         obj.user_setup(space, cls)
         obj.setdictvalue(space, "a", w1)
-        assert unerase_item(obj._value0) is w1
+        assert PlainAttribute.unerase_item(obj._value0) is w1
         assert obj.getdictvalue(space, "a") is w1
         assert obj.getdictvalue(space, "b") is None
         assert obj.getdictvalue(space, "c") is None
         obj.setdictvalue(space, "a", w2)
-        assert unerase_item(obj._value0) is w2
+        assert PlainAttribute.unerase_item(obj._value0) is w2
         assert obj.getdictvalue(space, "a") == w2
         assert obj.getdictvalue(space, "b") is None
         assert obj.getdictvalue(space, "c") is None
@@ -486,7 +491,7 @@
 
         res = obj.deldictvalue(space, "a")
         assert res
-        assert unerase_item(obj._value0) is w4
+        assert PlainAttribute.unerase_item(obj._value0) is w4
         assert obj.getdictvalue(space, "a") is None
         assert obj.getdictvalue(space, "b") is w4
         assert obj.getdictvalue(space, "c") is None


More information about the pypy-commit mailing list