Skip to content

Commit db01838

Browse files
author
Erlend E. Aasland
committed
Test for exact safety level
1 parent d45e27a commit db01838

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

Lib/sqlite3/test/test_dbapi.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,17 @@ def test_api_level(self):
5454
"apilevel is %s, should be 2.0" % sqlite.apilevel)
5555

5656
def test_thread_safety(self):
57-
self.assertIn(sqlite.threadsafety, {0, 1, 3},
58-
"threadsafety is %d, should be 0, 1 or 3" %
59-
sqlite.threadsafety)
57+
from sqlite3.dbapi2 import _compile_options
58+
msg = "threadsafety is %d, should be %d in %s mode"
59+
if "THREADSAFE=0" in _compile_options:
60+
self.assertEqual(sqlite.threadsafety, 0,
61+
msg % (sqlite.threadsafety, 0, "single-thread"))
62+
elif "THREADSAFE=2" in _compile_options:
63+
self.assertEqual(sqlite.threadsafety, 1,
64+
msg % (sqlite.threadsafety, 1, "multi-thread"))
65+
else: # THREADSAFE=1 (default)
66+
self.assertEqual(sqlite.threadsafety, 3,
67+
msg % (sqlite.threadsafety, 3, "serialized"))
6068

6169
def test_param_style(self):
6270
self.assertEqual(sqlite.paramstyle, "qmark",

0 commit comments

Comments
 (0)