From: Mike Bayer Date: Fri, 8 Aug 2014 17:06:41 +0000 (-0400) Subject: - turn off the testing reaper here, that's the source of the leaks X-Git-Tag: rel_0_9_8~66 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e54fd2c84c6e06fb53ba1d67895f1ff4113ddf1;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - turn off the testing reaper here, that's the source of the leaks when we are running with pydist, and even when we are running without it in fact... Conflicts: test/aaa_profiling/test_memusage.py --- diff --git a/test/aaa_profiling/test_memusage.py b/test/aaa_profiling/test_memusage.py index f9a95c3d86..9ed812c88a 100644 --- a/test/aaa_profiling/test_memusage.py +++ b/test/aaa_profiling/test_memusage.py @@ -36,6 +36,7 @@ def profile_memory(maxtimes=50): # get reset after 220 iterations. We'd like to keep these # tests under 50 iterations and ideally about ten, so # just filter them out so that we get a "flatline" more quickly. + if testing.against("sqlite+pysqlite"): return [o for o in gc.get_objects() if not isinstance(o, weakref.ref)] @@ -98,6 +99,7 @@ class EnsureZeroed(fixtures.ORMTest): def setup(self): _sessions.clear() _mapper_registry.clear() + self.engine = engines.testing_engine(options={"use_reaper": False}) class MemUsageTest(EnsureZeroed): @@ -117,7 +119,7 @@ class MemUsageTest(EnsureZeroed): go() def test_session(self): - metadata = MetaData(testing.db) + metadata = MetaData(self.engine) table1 = Table("mytable", metadata, Column('col1', Integer, primary_key=True, @@ -175,7 +177,7 @@ class MemUsageTest(EnsureZeroed): def test_sessionmaker(self): @profile_memory() def go(): - sessmaker = sessionmaker(bind=testing.db) + sessmaker = sessionmaker(bind=self.engine) sess = sessmaker() r = sess.execute(select([1])) r.close() @@ -186,7 +188,7 @@ class MemUsageTest(EnsureZeroed): @testing.crashes('sqlite', ':memory: connection not suitable here') def test_orm_many_engines(self): - metadata = MetaData(testing.db) + metadata = MetaData(self.engine) table1 = Table("mytable", metadata, Column('col1', Integer, primary_key=True, @@ -283,7 +285,7 @@ class MemUsageTest(EnsureZeroed): def test_many_updates(self): - metadata = MetaData(testing.db) + metadata = MetaData(self.engine) wide_table = Table('t', metadata, Column('id', Integer, primary_key=True, @@ -329,7 +331,7 @@ class MemUsageTest(EnsureZeroed): @testing.crashes('mysql+cymysql', 'blocking') def test_unicode_warnings(self): - metadata = MetaData(testing.db) + metadata = MetaData(self.engine) table1 = Table('mytable', metadata, Column('col1', Integer, primary_key=True, test_needs_autoincrement=True), Column('col2', @@ -347,7 +349,7 @@ class MemUsageTest(EnsureZeroed): # execute with a non-unicode object. a warning is emitted, # this warning shouldn't clog up memory. - testing.db.execute(table1.select().where(table1.c.col2 + self.engine.execute(table1.select().where(table1.c.col2 == 'foo%d' % i[0])) i[0] += 1 try: @@ -356,7 +358,7 @@ class MemUsageTest(EnsureZeroed): metadata.drop_all() def test_mapper_reset(self): - metadata = MetaData(testing.db) + metadata = MetaData(self.engine) table1 = Table("mytable", metadata, Column('col1', Integer, primary_key=True, @@ -413,7 +415,7 @@ class MemUsageTest(EnsureZeroed): assert_no_mappers() def test_alias_pathing(self): - metadata = MetaData(testing.db) + metadata = MetaData(self.engine) a = Table("a", metadata, Column('id', Integer, primary_key=True, @@ -478,7 +480,7 @@ class MemUsageTest(EnsureZeroed): clear_mappers() def test_with_inheritance(self): - metadata = MetaData(testing.db) + metadata = MetaData(self.engine) table1 = Table("mytable", metadata, Column('col1', Integer, primary_key=True, @@ -539,7 +541,7 @@ class MemUsageTest(EnsureZeroed): assert_no_mappers() def test_with_manytomany(self): - metadata = MetaData(testing.db) + metadata = MetaData(self.engine) table1 = Table("mytable", metadata, Column('col1', Integer, primary_key=True, @@ -607,7 +609,7 @@ class MemUsageTest(EnsureZeroed): @testing.provide_metadata def test_key_fallback_result(self): - e = testing.db + e = self.engine m = self.metadata t = Table('t', m, Column('x', Integer), Column('y', Integer)) m.create_all(e) @@ -625,7 +627,7 @@ class MemUsageTest(EnsureZeroed): @testing.crashes('mysql+cymysql', 'blocking') def test_join_cache(self): - metadata = MetaData(testing.db) + metadata = MetaData(self.engine) table1 = Table('table1', metadata, Column('id', Integer, primary_key=True, test_needs_autoincrement=True), Column('data',