https://github.com/python/cpython/commit/d26c2fe7a2833606b3fb8d9789149d8696978d86
commit: d26c2fe7a2833606b3fb8d9789149d8696978d86
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: erlend-aasland <[email protected]>
date: 2025-02-09T21:06:16Z
summary:

[3.13] gh-129870: Skip test_dump_virtual_tables if SQLite lacks FTS4 support 
(GH-129913) (#129918)

(cherry picked from commit cda83cade0b684bcb1221a30bfe0b6861abd3b3f)

Co-authored-by: Erlend E. Aasland <[email protected]>

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 5599823838beea..a4bb853bca3daf 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
@@ -75,3 +76,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