Skip to content
Merged
Prev Previous commit
Next Next commit
Test for exact safety level
  • Loading branch information
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