summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2017-04-12 15:28:05 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2017-04-12 15:28:05 -0400
commitbfaef1eaf54e0901b964ee163e179f6ec6cbd6e5 (patch)
treecc0856c6b57cb6104e45c6c50f6df1a93d00dd6a
parentb1f8d46fca951467ce0c05fe648f9f34de95c2ed (diff)
downloadsqlalchemy-bfaef1eaf54e0901b964ee163e179f6ec6cbd6e5.tar.gz
- try one more test, then we're likely going to give up on cx_Oracle
Change-Id: I7f9a1265664b0368ee7a771d01c7ca1612156d1f
-rw-r--r--test/aaa_profiling/test_memusage.py59
1 files changed, 30 insertions, 29 deletions
diff --git a/test/aaa_profiling/test_memusage.py b/test/aaa_profiling/test_memusage.py
index da9103bcf..e038d5c38 100644
--- a/test/aaa_profiling/test_memusage.py
+++ b/test/aaa_profiling/test_memusage.py
@@ -147,6 +147,36 @@ class MemUsageTest(EnsureZeroed):
to_unicode_processor_factory('utf8')
go()
+ def test_ad_hoc_types(self):
+ """test storage of bind processors, result processors
+ in dialect-wide registry."""
+
+ from sqlalchemy.dialects import mysql, postgresql, sqlite
+ from sqlalchemy import types
+
+ eng = engines.testing_engine()
+ for args in (
+ (types.Integer, ),
+ (types.String, ),
+ (types.PickleType, ),
+ (types.Enum, 'a', 'b', 'c'),
+ (sqlite.DATETIME, ),
+ (postgresql.ENUM, 'a', 'b', 'c'),
+ (types.Interval, ),
+ (postgresql.INTERVAL, ),
+ (mysql.VARCHAR, ),
+ ):
+ @profile_memory()
+ def go():
+ type_ = args[0](*args[1:])
+ bp = type_._cached_bind_processor(eng.dialect)
+ rp = type_._cached_result_processor(eng.dialect, 0)
+ bp, rp # strong reference
+ go()
+
+ assert not eng.dialect._type_memos
+
+
class MemUsageWBackendTest(EnsureZeroed):
__tags__ = 'memory_intensive',
@@ -302,35 +332,6 @@ class MemUsageWBackendTest(EnsureZeroed):
del m1, m2, m3
assert_no_mappers()
- def test_ad_hoc_types(self):
- """test storage of bind processors, result processors
- in dialect-wide registry."""
-
- from sqlalchemy.dialects import mysql, postgresql, sqlite
- from sqlalchemy import types
-
- eng = engines.testing_engine()
- for args in (
- (types.Integer, ),
- (types.String, ),
- (types.PickleType, ),
- (types.Enum, 'a', 'b', 'c'),
- (sqlite.DATETIME, ),
- (postgresql.ENUM, 'a', 'b', 'c'),
- (types.Interval, ),
- (postgresql.INTERVAL, ),
- (mysql.VARCHAR, ),
- ):
- @profile_memory()
- def go():
- type_ = args[0](*args[1:])
- bp = type_._cached_bind_processor(eng.dialect)
- rp = type_._cached_result_processor(eng.dialect, 0)
- bp, rp # strong reference
- go()
-
- assert not eng.dialect._type_memos
-
@testing.emits_warning("Compiled statement cache for.*")
def test_many_updates(self):
metadata = MetaData(self.engine)