diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-03-26 20:44:47 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-03-26 20:44:47 -0400 |
commit | e3dbb87d94e9caaec66bb141852fcd53caec3dea (patch) | |
tree | 46d9f6d4da068801a1cbe9e6a8cddc2d065b13e9 /test/engine/_base.py | |
parent | 0a695bb004a12a03c7493d647fed9ebdadca5fa0 (diff) | |
download | sqlalchemy-e3dbb87d94e9caaec66bb141852fcd53caec3dea.tar.gz |
- move _fixtures to work via the normal methods of _base.MappedTest, convert
all referncing tests to not use globals
- tests that deal with pickle specifically load the fixture classes
from test.lib.pickleable, which gets some more classes added
- removed weird sa05 pickling tests that don't matter
Diffstat (limited to 'test/engine/_base.py')
-rw-r--r-- | test/engine/_base.py | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/test/engine/_base.py b/test/engine/_base.py index ead668782..387c937b6 100644 --- a/test/engine/_base.py +++ b/test/engine/_base.py @@ -2,7 +2,7 @@ import sqlalchemy as sa from test.lib import testing from test.lib.testing import adict from test.lib.engines import drop_all_tables - +import sys class TablesTest(testing.TestBase): """An integration test that creates and uses tables.""" @@ -14,9 +14,12 @@ class TablesTest(testing.TestBase): run_define_tables = 'once' # 'once', 'each', None + run_create_tables = 'once' + + # 'once', 'each', None run_inserts = 'each' - # 'foreach', None + # 'each', None run_deletes = 'each' # 'once', 'each', None @@ -37,6 +40,11 @@ class TablesTest(testing.TestBase): @classmethod def _init_class(cls): + if cls.run_define_tables == 'each': + if cls.run_create_tables == 'once': + cls.run_create_tables = 'each' + assert cls.run_inserts in ('each', None) + if cls.other is None: cls.other = adict() @@ -62,16 +70,19 @@ class TablesTest(testing.TestBase): def _setup_once_tables(cls): if cls.run_define_tables == 'once': cls.define_tables(cls.metadata) - cls.metadata.create_all() + if cls.run_create_tables == 'once': + cls.metadata.create_all() cls.tables.update(cls.metadata.tables) def _setup_each_tables(self): if self.run_define_tables == 'each': self.tables.clear() - drop_all_tables(self.metadata) + if self.run_create_tables == 'each': + drop_all_tables(self.metadata) self.metadata.clear() self.define_tables(self.metadata) - self.metadata.create_all() + if self.run_create_tables == 'each': + self.metadata.create_all() self.tables.update(self.metadata.tables) def _setup_each_inserts(self): @@ -108,7 +119,8 @@ class TablesTest(testing.TestBase): @classmethod def _teardown_once_metadata_bind(cls): - cls.metadata.drop_all() + if cls.run_create_tables: + cls.metadata.drop_all() if cls.run_dispose_bind == 'once': cls.dispose_bind(cls.bind) |