summaryrefslogtreecommitdiff
path: root/test/engine/_base.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-03-26 20:44:47 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2011-03-26 20:44:47 -0400
commite3dbb87d94e9caaec66bb141852fcd53caec3dea (patch)
tree46d9f6d4da068801a1cbe9e6a8cddc2d065b13e9 /test/engine/_base.py
parent0a695bb004a12a03c7493d647fed9ebdadca5fa0 (diff)
downloadsqlalchemy-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.py24
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)