Visitar URL original
bpo-45613: Set `sqlite3.threadsafety` dynamically by erlend-aasland · Pull Request #29227 · python/cpython · GitHub
Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Test for exact safety level
  • Loading branch information
Erlend E. Aasland
Erlend E. Aasland committed Oct 28, 2021
commit db01838c130db3a54379f6f017836e94bdf27c8d
14 changes: 11 additions & 3 deletions Lib/sqlite3/test/test_dbapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,17 @@ def test_api_level(self):
"apilevel is %s, should be 2.0" % sqlite.apilevel)

def test_thread_safety(self):
self.assertIn(sqlite.threadsafety, {0, 1, 3},
"threadsafety is %d, should be 0, 1 or 3" %
sqlite.threadsafety)
from sqlite3.dbapi2 import _compile_options
msg = "threadsafety is %d, should be %d in %s mode"
if "THREADSAFE=0" in _compile_options:
self.assertEqual(sqlite.threadsafety, 0,
msg % (sqlite.threadsafety, 0, "single-thread"))
elif "THREADSAFE=2" in _compile_options:
self.assertEqual(sqlite.threadsafety, 1,
msg % (sqlite.threadsafety, 1, "multi-thread"))
else: # THREADSAFE=1 (default)
self.assertEqual(sqlite.threadsafety, 3,
msg % (sqlite.threadsafety, 3, "serialized"))

def test_param_style(self):
self.assertEqual(sqlite.paramstyle, "qmark",
Expand Down