From d9e43c518f90c0a79c05d7e6ea2559aef5157f52 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 26 Nov 2019 11:09:00 -0500 Subject: [PATCH] Don't clear metadata in TablesTest setup Some upcoming commits will make use of @metadata_fixture within a TablesTest class. As the fixture takes place before setup, remove anything in setup that would interfere with it. Change-Id: I4f16889c4c02cb2835dcf4886eb09ece848d8109 References: I507bc405eee6cae2c5991345d0eac53a37fe7512 --- lib/sqlalchemy/testing/fixtures.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/sqlalchemy/testing/fixtures.py b/lib/sqlalchemy/testing/fixtures.py index 04d09f8dd2..7e2719853b 100644 --- a/lib/sqlalchemy/testing/fixtures.py +++ b/lib/sqlalchemy/testing/fixtures.py @@ -120,16 +120,11 @@ class TablesTest(TestBase): def _setup_each_tables(self): if self.run_define_tables == "each": - self.tables.clear() - if self.run_create_tables == "each": - drop_all_tables(self.metadata, self.bind) - self.metadata.clear() self.define_tables(self.metadata) if self.run_create_tables == "each": self.metadata.create_all(self.bind) self.tables.update(self.metadata.tables) elif self.run_create_tables == "each": - drop_all_tables(self.metadata, self.bind) self.metadata.create_all(self.bind) def _setup_each_inserts(self): @@ -138,6 +133,14 @@ class TablesTest(TestBase): self.insert_data() def _teardown_each_tables(self): + if self.run_define_tables == "each": + self.tables.clear() + if self.run_create_tables == "each": + drop_all_tables(self.metadata, self.bind) + self.metadata.clear() + elif self.run_create_tables == "each": + drop_all_tables(self.metadata, self.bind) + # no need to run deletes if tables are recreated on setup if self.run_define_tables != "each" and self.run_deletes == "each": with self.bind.connect() as conn: -- 2.47.2