summaryrefslogtreecommitdiff
path: root/test/engine/test_execute.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-04-25 21:50:26 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2011-04-25 21:50:26 -0400
commite1ec36fc9ebcd652a511c2c7881cdc725a187e7f (patch)
treedc2d91336b0c085304a8856fd4523682905fdb27 /test/engine/test_execute.py
parent81a025fca4c801acef1d137d427f3af730151126 (diff)
downloadsqlalchemy-e1ec36fc9ebcd652a511c2c7881cdc725a187e7f.tar.gz
- hardcore force every connection into a strong-referenced set, rollback on every test, close on every context.
this uses pool events but bypasses the pool's fairy/record/dispose services. pypy still seems to expose some holes in that at least as far as what some (or maybe just one, cant find it yet) of the tests does. haven't tested this too deeply, just on sqlite + postgres, cypthon 2.7 + pypy. will see what the buildbot says
Diffstat (limited to 'test/engine/test_execute.py')
-rw-r--r--test/engine/test_execute.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py
index 51b2bbd14..9cca5fc2c 100644
--- a/test/engine/test_execute.py
+++ b/test/engine/test_execute.py
@@ -2,11 +2,12 @@ from test.lib.testing import eq_, assert_raises, assert_raises_message, config
import re
from sqlalchemy.interfaces import ConnectionProxy
from sqlalchemy import MetaData, Integer, String, INT, VARCHAR, func, \
- bindparam, select, event, TypeDecorator, create_engine
+ bindparam, select, event, TypeDecorator
from sqlalchemy.sql import column, literal
from test.lib.schema import Table, Column
import sqlalchemy as tsa
from test.lib import testing, engines
+from test.lib.engines import testing_engine
import logging
from sqlalchemy.dialects.oracle.zxjdbc import ReturningParam
from sqlalchemy.engine import base, default
@@ -398,6 +399,7 @@ class EchoTest(fixtures.TestBase):
assert len(self.buf.buffer) == 4
class ResultProxyTest(fixtures.TestBase):
+
def test_nontuple_row(self):
"""ensure the C version of BaseRowProxy handles
duck-type-dependent rows."""
@@ -499,8 +501,8 @@ class AlternateResultProxyTest(fixtures.TestBase):
@classmethod
def setup_class(cls):
- from sqlalchemy.engine import base, create_engine, default
- cls.engine = engine = create_engine('sqlite://')
+ from sqlalchemy.engine import base, default
+ cls.engine = engine = testing_engine('sqlite://')
m = MetaData()
cls.table = t = Table('test', m,
Column('x', Integer, primary_key=True),
@@ -573,8 +575,8 @@ class EngineEventsTest(fixtures.TestBase):
break
def test_per_engine_independence(self):
- e1 = create_engine(config.db_url)
- e2 = create_engine(config.db_url)
+ e1 = testing_engine(config.db_url)
+ e2 = testing_engine(config.db_url)
canary = []
def before_exec(conn, stmt, *arg):
@@ -600,8 +602,8 @@ class EngineEventsTest(fixtures.TestBase):
canary.append('be3')
event.listen(Engine, "before_execute", be1)
- e1 = create_engine(config.db_url)
- e2 = create_engine(config.db_url)
+ e1 = testing_engine(config.db_url)
+ e2 = testing_engine(config.db_url)
event.listen(e1, "before_execute", be2)
@@ -621,7 +623,7 @@ class EngineEventsTest(fixtures.TestBase):
def after_execute(conn, clauseelement, multiparams, params, result):
assert isinstance(multiparams, (list, tuple))
assert isinstance(params, dict)
- e1 = create_engine(config.db_url)
+ e1 = testing_engine(config.db_url)
event.listen(e1, 'before_execute', before_execute)
event.listen(e1, 'after_execute', after_execute)