From: Erlend E. Aasland Date: Sun, 9 Feb 2025 20:43:23 +0000 (+0100) Subject: gh-129870: Skip test_dump_virtual_tables if SQLite lacks FTS4 support (#129913) X-Git-Tag: v3.14.0a5~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cda83cade0b684bcb1221a30bfe0b6861abd3b3f;p=thirdparty%2FPython%2Fcpython.git gh-129870: Skip test_dump_virtual_tables if SQLite lacks FTS4 support (#129913) --- diff --git a/Lib/test/test_sqlite3/test_dump.py b/Lib/test/test_sqlite3/test_dump.py index 550cea419764..e18a207e9f64 100644 --- a/Lib/test/test_sqlite3/test_dump.py +++ b/Lib/test/test_sqlite3/test_dump.py @@ -4,6 +4,7 @@ import unittest from .util import memory_database from .util import MemoryDatabaseMixin +from .util import requires_virtual_table class DumpTests(MemoryDatabaseMixin, unittest.TestCase): @@ -206,6 +207,7 @@ class DumpTests(MemoryDatabaseMixin, unittest.TestCase): 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 8643835cca46..cccd062160fd 100644 --- a/Lib/test/test_sqlite3/util.py +++ b/Lib/test/test_sqlite3/util.py @@ -4,6 +4,7 @@ import io import re import sqlite3 import test.support +import unittest # Helper for temporary memory databases @@ -79,3 +80,10 @@ class MemoryDatabaseMixin: @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)