[3.10] bpo-45229: Remove test_main in many tests (GH-28405) (GH-28455)

Instead of explicitly enumerate test classes for run_unittest()
use the unittest ability to discover tests. This also makes these
tests discoverable and runnable with unittest.

load_tests() can be used for dynamic generating tests and adding
doctests. setUpModule(), tearDownModule() and addModuleCleanup()
can be used for running code before and after all module tests.
(cherry picked from commit 40348acc18)
This commit is contained in:
Serhiy Storchaka 2021-09-19 22:36:03 +03:00 committed by GitHub
parent 9c23a1ebad
commit bedce3538c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
61 changed files with 207 additions and 485 deletions

View file

@ -12,7 +12,6 @@ import argparse
from io import StringIO
from test import support
from test.support import os_helper
from unittest import mock
class StdIOBuffer(StringIO):
@ -5397,13 +5396,11 @@ class TestExitOnError(TestCase):
self.parser.parse_args('--integers a'.split())
def test_main():
support.run_unittest(__name__)
def tearDownModule():
# Remove global references to avoid looking like we have refleaks.
RFile.seen = {}
WFile.seen = set()
if __name__ == '__main__':
test_main()
unittest.main()