[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_dtrace.py b/Lib/test/test_dtrace.py
index 8612e27..1db73cc 100644
--- a/Lib/test/test_dtrace.py
+++ b/Lib/test/test_dtrace.py
@@ -6,7 +6,7 @@
import types
import unittest
-from test.support import findfile, run_unittest
+from test.support import findfile
def abspath(filename):
@@ -97,7 +97,7 @@ class SystemTapBackend(TraceBackend):
COMMAND = ["stap", "-g"]
-class TraceTests(unittest.TestCase):
+class TraceTests:
# unittest.TestCase options
maxDiff = None
@@ -149,30 +149,25 @@ def test_line(self):
self.run_case("line")
-class DTraceNormalTests(TraceTests):
+class DTraceNormalTests(TraceTests, unittest.TestCase):
backend = DTraceBackend()
optimize_python = 0
-class DTraceOptimizedTests(TraceTests):
+class DTraceOptimizedTests(TraceTests, unittest.TestCase):
backend = DTraceBackend()
optimize_python = 2
-class SystemTapNormalTests(TraceTests):
+class SystemTapNormalTests(TraceTests, unittest.TestCase):
backend = SystemTapBackend()
optimize_python = 0
-class SystemTapOptimizedTests(TraceTests):
+class SystemTapOptimizedTests(TraceTests, unittest.TestCase):
backend = SystemTapBackend()
optimize_python = 2
-def test_main():
- run_unittest(DTraceNormalTests, DTraceOptimizedTests, SystemTapNormalTests,
- SystemTapOptimizedTests)
-
-
if __name__ == '__main__':
test_main()