Home - Summaries: (main) : (py3.11) : (py3.12) : Everything - Nightly builds - Benchmarks - RPython - Builders - About

pypy.objspace.std.test.apptest_typeobjject:test_mutable_bases_keeping_slots

def test_mutable_bases_keeping_slots():
        class A(object):
            __slots__ = ['a']
        class B(A):
            __slots__ = []
        class C(B):
            __slots__ = ['c']
        c = C()
        c.a = 42
        c.c = 85
        assert C.__mro__ == (C, B, A, object)
        C.__bases__ = (A,)
        assert C.__mro__ == (C, A, object)
        assert c.a == 42
        assert c.c == 85
    
        class D(A):
            __slots__ = []
        C.__bases__ = (B, D)
        assert C.__mro__ == (C, B, D, A, object)
        assert c.a == 42
        assert c.c == 85
>       raises(TypeError, 'C.__bases__ = (B, D, B)')
E       TypeError: 'C.__bases__ = (B, D, B)' object (type: <class 'str'>) must be callable

../build/pypy/objspace/std/test/apptest_typeobjject.py:486: TypeError
builder: pypy-c-jit-linux-x86-32 build #8403+
test: pypy.objspace.std.test.apptest_typeobjject:test_mutable_bases_keeping_slots