From 5945da4e41370bc71a0d3f811ea128be5663db6e Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 2 Dec 2018 18:54:40 -0500 Subject: [PATCH] "left" -> "accidentally placed at" since "left" is kind of ambiguous, use more explicit terminology here. Also update the test to use a positive assertion that the warning is emitted; quote the attribute name. Change-Id: Ic2284c200a26b32b2da063cfaf6d59547309d587 References: https://github.com/zzzeek/sqlalchemy/pull/488 (cherry picked from commit eacb31a89fe883edd0ada7f2724239c1f8c5b685) --- lib/sqlalchemy/ext/declarative/base.py | 4 ++-- test/ext/declarative/test_basic.py | 16 +++++----------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/lib/sqlalchemy/ext/declarative/base.py b/lib/sqlalchemy/ext/declarative/base.py index a41a46848f..b580a79e0b 100644 --- a/lib/sqlalchemy/ext/declarative/base.py +++ b/lib/sqlalchemy/ext/declarative/base.py @@ -386,8 +386,8 @@ class _MapperConfig(object): if (isinstance(value, tuple) and len(value) == 1 and isinstance(value[0], (Column, MapperProperty))): util.warn("Ignoring declarative-like tuple value of attribute " - "%s: possibly a copy-and-paste error with a comma " - "left at the end of the line?" % k) + "'%s': possibly a copy-and-paste error with a comma " + "accidentally placed at the end of the line?" % k) continue elif not isinstance(value, (Column, MapperProperty)): # using @declared_attr for some object that diff --git a/test/ext/declarative/test_basic.py b/test/ext/declarative/test_basic.py index 3eb0743e75..7996fcee81 100644 --- a/test/ext/declarative/test_basic.py +++ b/test/ext/declarative/test_basic.py @@ -1122,23 +1122,17 @@ class DeclarativeTest(DeclarativeTestBase): eq_(Foo.__mapper__.CHECK, True) - @testing.emits_warning('Ignoring declarative-like tuple value of ' - 'attribute id') def test_oops(self): - def define(): + with testing.expect_warnings( + "Ignoring declarative-like tuple value of " + "attribute 'name'"): class User(Base, fixtures.ComparableEntity): __tablename__ = 'users' - id = Column('id', Integer, primary_key=True), - name = Column('name', String(50)) - - assert False - - assert_raises_message(sa.exc.ArgumentError, - 'Mapper Mapper|User|users could not ' - 'assemble any primary key', define) + id = Column('id', Integer, primary_key=True) + name = Column('name', String(50)), def test_table_args_no_dict(self): -- 2.47.2