From 60e625212fe55869d2915bbf41a369eedae8b846 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 15 Apr 2021 08:28:34 -0400 Subject: [PATCH] test fixes from non-gerrit builds - Fix savepoint test in test_memusage which hasn't been running, jenkins now has this enabled for more backends - fix SQL Server failure in test_assorted_eager - don't mention "from_self()" in the error message for Query Fixes: #6277 Change-Id: I0b351032604bd19604143f86f5f055eefd4d0c23 --- lib/sqlalchemy/orm/query.py | 4 +--- test/aaa_profiling/test_memusage.py | 25 +++++++++++-------------- test/orm/test_assorted_eager.py | 6 +++++- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 9348d7d48f..7436696a8f 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -306,9 +306,7 @@ class Query( if self._limit_clause is not None or self._offset_clause is not None: raise sa_exc.InvalidRequestError( "Query.%s() being called on a Query which already has LIMIT " - "or OFFSET applied. To modify the row-limited results of a " - " Query, call from_self() first. " - "Otherwise, call %s() before limit() or offset() " + "or OFFSET applied. Call %s() before limit() or offset() " "are applied." % (meth, meth) ) diff --git a/test/aaa_profiling/test_memusage.py b/test/aaa_profiling/test_memusage.py index d8896a3d61..5347c6c728 100644 --- a/test/aaa_profiling/test_memusage.py +++ b/test/aaa_profiling/test_memusage.py @@ -580,9 +580,8 @@ class MemUsageWBackendTest(EnsureZeroed): metadata.drop_all(self.engine) @testing.requires.savepoints - @testing.provide_metadata def test_savepoints(self): - metadata = self.metadata + metadata = MetaData() some_table = Table( "t", @@ -597,30 +596,28 @@ class MemUsageWBackendTest(EnsureZeroed): mapper(SomeClass, some_table) - metadata.create_all() - - session = Session(testing.db) - - target_strings = ( - session.connection().dialect.identifier_preparer._strings - ) + metadata.create_all(self.engine) - session.close() + with Session(self.engine) as session: + target_strings = ( + session.connection().dialect.identifier_preparer._strings + ) @profile_memory( assert_no_sessions=False, get_num_objects=lambda: len(target_strings), ) def go(): - session = Session(testing.db) - with session.transaction: - + with Session(self.engine) as session, session.begin(): sc = SomeClass() session.add(sc) with session.begin_nested(): session.query(SomeClass).first() - go() + try: + go() + finally: + metadata.drop_all(self.engine) @testing.crashes("mysql+cymysql", "blocking") def test_unicode_warnings(self): diff --git a/test/orm/test_assorted_eager.py b/test/orm/test_assorted_eager.py index 8ca6a8d86b..8667307e4e 100644 --- a/test/orm/test_assorted_eager.py +++ b/test/orm/test_assorted_eager.py @@ -1171,7 +1171,11 @@ class EagerTest8(fixtures.MappedTest): session = fixture_session() eq_( - session.query(Joined).limit(10).offset(0).one(), + session.query(Joined) + .order_by(Joined.id) + .limit(10) + .offset(0) + .one(), Joined(id=1, title="task 1", props_cnt=0), ) -- 2.47.3