With this approach is necessary to exclude the base class from the tests, either by listing all the Python/C tests explicitly or doing some automatic check to find these base classes. Listing all the tests is a bad idea because it needs to be updated manually and it is easy to forget about that and end up with tests that are never run. Checking and skipping the base classes is not very elegant IM