https://github.com/python/cpython/commit/cda83cade0b684bcb1221a30bfe0b6861abd3b3f
commit: cda83cade0b684bcb1221a30bfe0b6861abd3b3f
branch: main
author: Erlend E. Aasland <[email protected]>
committer: erlend-aasland <[email protected]>
date: 2025-02-09T21:43:23+01:00
summary:

gh-129870: Skip test_dump_virtual_tables if SQLite lacks FTS4 support (#129913)

files:
M Lib/test/test_sqlite3/test_dump.py
M Lib/test/test_sqlite3/util.py

diff --git a/Lib/test/test_sqlite3/test_dump.py 
b/Lib/test/test_sqlite3/test_dump.py
index 550cea41976441..e18a207e9f6494 100644
--- a/Lib/test/test_sqlite3/test_dump.py
+++ b/Lib/test/test_sqlite3/test_dump.py
@@ -4,6 +4,7 @@
 
 from .util import memory_database
 from .util import MemoryDatabaseMixin
+from .util import requires_virtual_table
 
 
 class DumpTests(MemoryDatabaseMixin, unittest.TestCase):
@@ -206,6 +207,7 @@ def dict_factory(cu, row):
         self.assertEqual(expected, actual)
         self.assertEqual(self.cx.row_factory, dict_factory)
 
+    @requires_virtual_table("fts4")
     def test_dump_virtual_tables(self):
         # gh-64662
         expected = [
diff --git a/Lib/test/test_sqlite3/util.py b/Lib/test/test_sqlite3/util.py
index 8643835cca46e2..cccd062160fd40 100644
--- a/Lib/test/test_sqlite3/util.py
+++ b/Lib/test/test_sqlite3/util.py
@@ -4,6 +4,7 @@
 import re
 import sqlite3
 import test.support
+import unittest
 
 
 # Helper for temporary memory databases
@@ -79,3 +80,10 @@ def cx(self):
     @property
     def cu(self):
         return self.cur
+
+
+def requires_virtual_table(module):
+    with memory_database() as cx:
+        supported = (module,) in list(cx.execute("PRAGMA module_list"))
+        reason = f"Requires {module!r} virtual table support"
+        return unittest.skipUnless(supported, reason)

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to