The problem seems to be that in captureMockMakeClass, proxyTargetClass is None, so it skips the code you just added that checks the metaclass and creates an ABCMetaProxy which subclasses abc.ABCMeta. It instead uses ProxyMetaClass, which doesn't subclass abc.ABCMeta.
The problem seems to be that in captureMockMake Class, proxyTargetClass is None, so it skips the code you just added that checks the metaclass and creates an ABCMetaProxy which subclasses abc.ABCMeta. It instead uses ProxyMetaClass, which doesn't subclass abc.ABCMeta.