@_skip_under_py3k
    def test_mixed_metas(self):
        from zope.interface.tests.advisory_testing import ping

        class Metaclass1(type):
            pass

        class Metaclass2(type):
            pass

        class Base1:
            __metaclass__ = Metaclass1

        class Base2:
            __metaclass__ = Metaclass2

        try:
            class Derived(Base1, Base2):
                ping([], 1)

        except __HOLE__:
            pass
        else:
            raise AssertionError("Should have gotten incompatibility error")

        class Metaclass3(Metaclass1, Metaclass2):
            pass

        class Derived(Base1, Base2):
            __metaclass__ = Metaclass3
            ping([], 1)

        self.failUnless(isinstance(Derived, list))
        Derived, = Derived
        self.failUnless(isinstance(Derived, Metaclass3))
dataset/ETHPy150Open nlloyd/SubliminalCollaborator/libs/zope/interface/tests/test_advice.py/AdviceTests.test_mixed_metas