From ad5d2f54ad713a645853459eca5fccec43084343 Mon Sep 17 00:00:00 2001 From: Anish Shah Date: Sat, 4 Mar 2017 01:08:14 +0530 Subject: [PATCH] bpo-26187: Tests for sqlite3 trace callback --- Lib/sqlite3/test/hooks.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py index f8ef4d88f37855..c0c4f4ce826518 100644 --- a/Lib/sqlite3/test/hooks.py +++ b/Lib/sqlite3/test/hooks.py @@ -248,6 +248,23 @@ def trace(statement): "Unicode data %s garbled in trace callback: %s" % (ascii(unicode_value), ', '.join(map(ascii, traced_statements)))) + def CheckTraceCallbackContent(self): + """ + Test that the statement are correct. Fix for bpo-26187 + """ + con = sqlite.connect(":memory:") + traced_statements = [] + def trace(statement): + traced_statements.append(statement) + con.set_trace_callback(trace) + queries = ["create table foo(x)", "insert into foo(x) values(1)"] + for query in queries: + con.execute(query) + con.commit() + queries.insert(1, "BEGIN ") + queries.append("COMMIT") + self.assertEqual(traced_statements, queries) + def suite():