]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45181: Simplify loading sqlite3 tests (GH-28304)
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 13 Sep 2021 11:16:26 +0000 (14:16 +0300)
committerGitHub <noreply@github.com>
Mon, 13 Sep 2021 11:16:26 +0000 (14:16 +0300)
Use unittest discover instead of manually enumerating all
test modules and classes.
Also add support for filtering them by pattern.

Lib/sqlite3/test/test_backup.py [moved from Lib/sqlite3/test/backup.py with 98% similarity]
Lib/sqlite3/test/test_dbapi.py [moved from Lib/sqlite3/test/dbapi.py with 98% similarity]
Lib/sqlite3/test/test_dump.py [moved from Lib/sqlite3/test/dump.py with 91% similarity]
Lib/sqlite3/test/test_factory.py [moved from Lib/sqlite3/test/factory.py with 96% similarity]
Lib/sqlite3/test/test_hooks.py [moved from Lib/sqlite3/test/hooks.py with 96% similarity]
Lib/sqlite3/test/test_regression.py [moved from Lib/sqlite3/test/regression.py with 98% similarity]
Lib/sqlite3/test/test_transactions.py [moved from Lib/sqlite3/test/transactions.py with 95% similarity]
Lib/sqlite3/test/test_types.py [moved from Lib/sqlite3/test/types.py with 97% similarity]
Lib/sqlite3/test/test_userfunctions.py [moved from Lib/sqlite3/test/userfunctions.py with 98% similarity]
Lib/test/test_sqlite.py

similarity index 98%
rename from Lib/sqlite3/test/backup.py
rename to Lib/sqlite3/test/test_backup.py
index 4e30594bec6d9f778fcdda11fa1424b954096371..384dd9229ab3415bb0982b0d1167a41f7adde9ca 100644 (file)
@@ -160,8 +160,5 @@ class BackupTests(unittest.TestCase):
             self.verify_backup(bck)
 
 
-def suite():
-    return unittest.TestLoader().loadTestsFromTestCase(BackupTests)
-
 if __name__ == "__main__":
     unittest.main()
similarity index 98%
rename from Lib/sqlite3/test/dbapi.py
rename to Lib/sqlite3/test/test_dbapi.py
index 89f773daf24a16d695e93c7742dc4a040fbaa10a..34cadeebfa2627b1a4f1d6913cc3106720867df0 100644 (file)
@@ -1156,28 +1156,5 @@ class MultiprocessTests(unittest.TestCase):
         self.assertEqual(proc.returncode, 0)
 
 
-def suite():
-    tests = [
-        ClosedConTests,
-        ClosedCurTests,
-        ConnectionTests,
-        ConstructorTests,
-        CursorTests,
-        ExtensionTests,
-        ModuleTests,
-        MultiprocessTests,
-        OpenTests,
-        SqliteOnConflictTests,
-        ThreadTests,
-        UninitialisedConnectionTests,
-    ]
-    return unittest.TestSuite(
-        [unittest.TestLoader().loadTestsFromTestCase(t) for t in tests]
-    )
-
-def test():
-    runner = unittest.TextTestRunner()
-    runner.run(suite())
-
 if __name__ == "__main__":
-    test()
+    unittest.main()
similarity index 91%
rename from Lib/sqlite3/test/dump.py
rename to Lib/sqlite3/test/test_dump.py
index 618a7fd31c1543ca9ef25df87bbb47f47c1cf0e1..1f14c620f0d24bbf69a713a64afb2a4b936fbe0a 100644 (file)
@@ -70,17 +70,6 @@ class DumpTests(unittest.TestCase):
         got = list(self.cx.iterdump())
         self.assertEqual(expected, got)
 
-def suite():
-    tests = [
-        DumpTests,
-    ]
-    return unittest.TestSuite(
-        [unittest.TestLoader().loadTestsFromTestCase(t) for t in tests]
-    )
-
-def test():
-    runner = unittest.TextTestRunner()
-    runner.run(suite())
 
 if __name__ == "__main__":
-    test()
+    unittest.main()
similarity index 96%
rename from Lib/sqlite3/test/factory.py
rename to Lib/sqlite3/test/test_factory.py
index 9e7a7e28c6ed3aee66ce0c0ca9b528fd55f335d0..420855ba34b602b04a204c095ed5891bd353a796 100644 (file)
@@ -305,22 +305,6 @@ class TextFactoryTestsWithEmbeddedZeroBytes(unittest.TestCase):
     def tearDown(self):
         self.con.close()
 
-def suite():
-    tests = [
-        ConnectionFactoryTests,
-        CursorFactoryTests,
-        RowFactoryTests,
-        RowFactoryTestsBackwardsCompat,
-        TextFactoryTests,
-        TextFactoryTestsWithEmbeddedZeroBytes,
-    ]
-    return unittest.TestSuite(
-        [unittest.TestLoader().loadTestsFromTestCase(t) for t in tests]
-    )
-
-def test():
-    runner = unittest.TextTestRunner()
-    runner.run(suite())
 
 if __name__ == "__main__":
-    test()
+    unittest.main()
similarity index 96%
rename from Lib/sqlite3/test/hooks.py
rename to Lib/sqlite3/test/test_hooks.py
index 43e3810d13df185bf0430192a0382d48d9586b37..bf454b2aa887f3f0c9b760309933cd78c8e36c9d 100644 (file)
@@ -24,7 +24,7 @@ import unittest
 import sqlite3 as sqlite
 
 from test.support.os_helper import TESTFN, unlink
-from .userfunctions import with_tracebacks
+from .test_userfunctions import with_tracebacks
 
 class CollationTests(unittest.TestCase):
     def test_create_collation_not_string(self):
@@ -290,19 +290,5 @@ class TraceCallbackTests(unittest.TestCase):
         self.assertEqual(traced_statements, queries)
 
 
-def suite():
-    tests = [
-        CollationTests,
-        ProgressTests,
-        TraceCallbackTests,
-    ]
-    return unittest.TestSuite(
-        [unittest.TestLoader().loadTestsFromTestCase(t) for t in tests]
-    )
-
-def test():
-    runner = unittest.TextTestRunner()
-    runner.run(suite())
-
 if __name__ == "__main__":
-    test()
+    unittest.main()
similarity index 98%
rename from Lib/sqlite3/test/regression.py
rename to Lib/sqlite3/test/test_regression.py
index 4a422c8d43daa0a3681bb599180816f000952984..f75e48f15604f7d5c054b9a069c232f91f8889a9 100644 (file)
@@ -436,17 +436,5 @@ class RegressionTests(unittest.TestCase):
         self.assertEqual(val, b'')
 
 
-def suite():
-    tests = [
-        RegressionTests
-    ]
-    return unittest.TestSuite(
-        [unittest.TestLoader().loadTestsFromTestCase(t) for t in tests]
-    )
-
-def test():
-    runner = unittest.TextTestRunner()
-    runner.run(suite())
-
 if __name__ == "__main__":
-    test()
+    unittest.main()
similarity index 95%
rename from Lib/sqlite3/test/transactions.py
rename to Lib/sqlite3/test/test_transactions.py
index 80284902a1a6e95ea02a51a9e2c650750f0f1a31..8ea352b9ef0f9bc2ac91565e3c3a60bded495bf8 100644 (file)
@@ -195,19 +195,6 @@ class TransactionalDDL(unittest.TestCase):
     def tearDown(self):
         self.con.close()
 
-def suite():
-    tests = [
-        SpecialCommandTests,
-        TransactionTests,
-        TransactionalDDL,
-    ]
-    return unittest.TestSuite(
-        [unittest.TestLoader().loadTestsFromTestCase(t) for t in tests]
-    )
-
-def test():
-    runner = unittest.TextTestRunner()
-    runner.run(suite())
 
 if __name__ == "__main__":
-    test()
+    unittest.main()
similarity index 97%
rename from Lib/sqlite3/test/types.py
rename to Lib/sqlite3/test/test_types.py
index b8926ffee22e87639af11e4a0d22867c7ff95a89..396f153a75f20c717d3bc12a48fd51b2877bc045 100644 (file)
@@ -530,23 +530,6 @@ class DateTimeTests(unittest.TestCase):
         ts2 = self.cur.fetchone()[0]
         self.assertEqual(ts, ts2)
 
-def suite():
-    tests = [
-        BinaryConverterTests,
-        ColNamesTests,
-        CommonTableExpressionTests,
-        DateTimeTests,
-        DeclTypesTests,
-        ObjectAdaptationTests,
-        SqliteTypeTests,
-    ]
-    return unittest.TestSuite(
-        [unittest.TestLoader().loadTestsFromTestCase(t) for t in tests]
-    )
-
-def test():
-    runner = unittest.TextTestRunner()
-    runner.run(suite())
 
 if __name__ == "__main__":
-    test()
+    unittest.main()
similarity index 98%
rename from Lib/sqlite3/test/userfunctions.py
rename to Lib/sqlite3/test/test_userfunctions.py
index b4d5181777ebdf22cec954c509698bade8f18ba3..ad408475b73af7e5e8702c4e9a972b09d0c54921 100644 (file)
@@ -661,22 +661,5 @@ class AuthorizerLargeIntegerTests(AuthorizerTests):
         return sqlite.SQLITE_OK
 
 
-def suite():
-    tests = [
-        AggregateTests,
-        AuthorizerIllegalTypeTests,
-        AuthorizerLargeIntegerTests,
-        AuthorizerRaiseExceptionTests,
-        AuthorizerTests,
-        FunctionTests,
-    ]
-    return unittest.TestSuite(
-        [unittest.TestLoader().loadTestsFromTestCase(t) for t in tests]
-    )
-
-def test():
-    runner = unittest.TextTestRunner()
-    runner.run(suite())
-
 if __name__ == "__main__":
-    test()
+    unittest.main()
index 73002f228fa70b821d9b0d1d5988cb47f47c2f09..9992a02e5d90a08c83b4b92607594fb40f7e087a 100644 (file)
@@ -1,26 +1,20 @@
 import test.support
 from test.support import import_helper
+from test.support import load_package_tests
 
 # Skip test if _sqlite3 module not installed
 import_helper.import_module('_sqlite3')
 
 import unittest
-import sqlite3
-from sqlite3.test import (dbapi, types, userfunctions,
-                                factory, transactions, hooks, regression,
-                                dump, backup)
+import os
+import sqlite3.test
 
-def load_tests(*args):
+def load_tests(loader, tests, pattern):
     if test.support.verbose:
         print("test_sqlite: testing with version",
               "{!r}, sqlite_version {!r}".format(sqlite3.version,
                                                  sqlite3.sqlite_version))
-    return unittest.TestSuite([dbapi.suite(), types.suite(),
-                               userfunctions.suite(),
-                               factory.suite(), transactions.suite(),
-                               hooks.suite(), regression.suite(),
-                               dump.suite(),
-                               backup.suite()])
+    return load_package_tests(os.path.dirname(sqlite3.test.__file__), loader, tests, pattern)
 
 if __name__ == "__main__":
     unittest.main()