[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 40348acc180580371d25f75f46b27048e35f2435)
diff --git a/Lib/test/test_pkgutil.py b/Lib/test/test_pkgutil.py
index 6e3618f..800fe38 100644
--- a/Lib/test/test_pkgutil.py
+++ b/Lib/test/test_pkgutil.py
@@ -1,4 +1,3 @@
-from test.support import run_unittest
from test.support.import_helper import unload, CleanImport
from test.support.warnings_helper import check_warnings
import unittest
@@ -580,9 +579,7 @@ def test_iter_importers_avoids_emulation(self):
self.assertEqual(len(w.warnings), 0)
-def test_main():
- run_unittest(PkgutilTests, PkgutilPEP302Tests, ExtendPathTests,
- NestedNamespacePackageTest, ImportlibMigrationTests)
+def tearDownModule():
# this is necessary if test is run repeated (like when finding leaks)
import zipimport
import importlib
@@ -591,4 +588,4 @@ def test_main():
if __name__ == '__main__':
- test_main()
+ unittest.main()