From: Mike Bayer Date: Wed, 18 Feb 2015 20:50:37 +0000 (-0500) Subject: - add the test_expire_lots test for comparison X-Git-Tag: rel_1_0_0b1~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3eff76c4b0c234717e6d8a157ef6883b72694927;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - add the test_expire_lots test for comparison --- diff --git a/test/aaa_profiling/test_orm.py b/test/aaa_profiling/test_orm.py index 2e0cb4e44c..9251e75e1e 100644 --- a/test/aaa_profiling/test_orm.py +++ b/test/aaa_profiling/test_orm.py @@ -407,3 +407,57 @@ class AttributeOverheadTest(fixtures.MappedTest): for child in children: p1.children.remove(child) go() + + +class SessionTest(fixtures.MappedTest): + @classmethod + def define_tables(cls, metadata): + Table( + 'parent', + metadata, + Column('id', Integer, + primary_key=True, test_needs_autoincrement=True), + Column('data', String(20))) + Table( + 'child', metadata, + Column('id', Integer, primary_key=True, + test_needs_autoincrement=True), + Column( + 'data', String(20)), Column( + 'parent_id', Integer, ForeignKey('parent.id'), nullable=False)) + + @classmethod + def setup_classes(cls): + class Parent(cls.Basic): + pass + + class Child(cls.Basic): + pass + + @classmethod + def setup_mappers(cls): + Child, Parent, parent, child = (cls.classes.Child, + cls.classes.Parent, + cls.tables.parent, + cls.tables.child) + + mapper( + Parent, parent, properties={ + 'children': relationship( + Child, + backref='parent')}) + mapper(Child, child) + + def test_expire_lots(self): + Parent, Child = self.classes.Parent, self.classes.Child + obj = [Parent( + children=[Child() for j in range(10)]) for i in range(10)] + + sess = Session() + sess.add_all(obj) + sess.flush() + + @profiling.function_call_count() + def go(): + sess.expire_all() + go() diff --git a/test/profiles.txt b/test/profiles.txt index 0eb2add936..6e55b647d0 100644 --- a/test/profiles.txt +++ b/test/profiles.txt @@ -231,6 +231,23 @@ test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 3.3_sqlite_pysqlite_noc test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 3.4_postgresql_psycopg2_cextensions 94,19 test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 3.4_postgresql_psycopg2_nocextensions 94,19 +# TEST: test.aaa_profiling.test_orm.SessionTest.test_expire_lots + +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_mysql_mysqldb_cextensions 2481 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_mysql_mysqldb_nocextensions 2481 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_postgresql_psycopg2_cextensions 2481 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_postgresql_psycopg2_nocextensions 2481 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_sqlite_pysqlite_cextensions 2481 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_sqlite_pysqlite_nocextensions 2481 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.3_postgresql_psycopg2_cextensions 2482 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.3_postgresql_psycopg2_nocextensions 2482 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.3_sqlite_pysqlite_cextensions 2482 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.3_sqlite_pysqlite_nocextensions 2482 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.4_postgresql_psycopg2_cextensions 2482 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.4_postgresql_psycopg2_nocextensions 2482 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.4_sqlite_pysqlite_cextensions 2482 +test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.4_sqlite_pysqlite_nocextensions 2482 + # TEST: test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect 2.7_mysql_mysqldb_cextensions 91