From f935476b3f15dd1032a290b5d3ab12326dd91f24 Mon Sep 17 00:00:00 2001 From: Rafi Shamim Date: Thu, 7 May 2020 18:26:24 -0400 Subject: [PATCH] Handle failure in setup of ConnectionTwoPhaseTest Previously, this test had a bug, because if the CREATE TABLE statement failed, the setup would fail without committing or rolling back the active transaction. --- tests/test_connection.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/test_connection.py b/tests/test_connection.py index f1668d55..82368016 100755 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -913,9 +913,11 @@ class ConnectionTwoPhaseTests(ConnectingTestCase): cur.execute("DROP TABLE test_tpc;") except psycopg2.ProgrammingError: cnn.rollback() - cur.execute("CREATE TABLE test_tpc (data text);") - cnn.commit() - cnn.close() + try: + cur.execute("CREATE TABLE test_tpc (data text);") + cnn.commit() + finally: + cnn.close() def count_xacts(self): """Return the number of prepared xacts currently in the test db."""