The patch looks fine, but I wonder if regrtest.py could be taught to warn about situations like this. Maybe run_unitest() should check that all leaf subclasses of TestCase in the module are covered. Ideally, of course, test_main() should be made optional and tests be discovered by analyzing the test_* module.
It looks like there's still a bit of brokenness here: when I run test_enumerate by itself: ./python.exe Lib/test/test_enumerate.py I get the following: Traceback (most recent call last): File "Lib/test/test_enumerate.py", line 253, in test_main(verbose=True) File "Lib/test/test_enumerate.py", line 248, in test_main test_support.run_unittest(*testclasses) NameError: global name 'testclasses' is not defined [76533 refs]