From 6f7977bb63ea592faaa7b3bdf2898f8361f30260 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Fri, 6 Sep 2013 11:46:33 -0500 Subject: [PATCH] Fixed #21029: Test for previously-commited SchemaEditor.__exit__ bug. --- tests/schema/tests.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/schema/tests.py b/tests/schema/tests.py index 959f886024..f6125ee9f3 100644 --- a/tests/schema/tests.py +++ b/tests/schema/tests.py @@ -643,3 +643,16 @@ class SchemaTests(TransactionTestCase): self.assertTrue( connection.introspection.get_indexes(connection.cursor(), Tag._meta.db_table)['slug']['primary_key'], ) + + def test_context_manager_exit(self): + """ + Ensures transaction is correctly closed when an error occurs + inside a SchemaEditor context. + """ + class SomeError(Exception): + pass + try: + with connection.schema_editor() as editor: + raise SomeError + except SomeError: + self.assertFalse(connection.in_atomic_block)