summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-02-18 15:50:37 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2015-02-18 15:50:37 -0500
commit3eff76c4b0c234717e6d8a157ef6883b72694927 (patch)
tree708def99d77358e61a0ab04d3386e2bdbb74fb1e
parent94d57374c44b49dce8531a0b0ed3116e52530c3b (diff)
downloadsqlalchemy-3eff76c4b0c234717e6d8a157ef6883b72694927.tar.gz
- add the test_expire_lots test for comparison
-rw-r--r--test/aaa_profiling/test_orm.py54
-rw-r--r--test/profiles.txt17
2 files changed, 71 insertions, 0 deletions
diff --git a/test/aaa_profiling/test_orm.py b/test/aaa_profiling/test_orm.py
index 2e0cb4e44..9251e75e1 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 0eb2add93..6e55b647d 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