From be5d3263436b81fb179c8189f1064d477d5fb3e6 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 18 Dec 2008 17:57:15 +0000 Subject: merged -r5299:5438 of py3k warnings branch. this fixes some sqlite py2.6 testing issues, and also addresses a significant chunk of py3k deprecations. It's mainly expicit __hash__ methods. Additionally, most usage of sets/dicts to store columns uses util-based placeholder names. --- test/sql/selectable.py | 29 +++++++++++++++-------------- test/sql/testtypes.py | 13 +++++++++++-- 2 files changed, 26 insertions(+), 16 deletions(-) (limited to 'test/sql') diff --git a/test/sql/selectable.py b/test/sql/selectable.py index 3f9464283..eb8bc861f 100755 --- a/test/sql/selectable.py +++ b/test/sql/selectable.py @@ -8,6 +8,7 @@ from testlib import * from sqlalchemy.sql import util as sql_util, visitors from sqlalchemy import exc from sqlalchemy.sql import table, column +from sqlalchemy import util metadata = MetaData() table1 = Table('table1', metadata, @@ -288,13 +289,13 @@ class PrimaryKeyTest(TestBase, AssertsExecutionResults): ) self.assertEquals( - set(employee.join(engineer, employee.c.id==engineer.c.id).primary_key), - set([employee.c.id]) + util.column_set(employee.join(engineer, employee.c.id==engineer.c.id).primary_key), + util.column_set([employee.c.id]) ) self.assertEquals( - set(employee.join(engineer, engineer.c.id==employee.c.id).primary_key), - set([employee.c.id]) + util.column_set(employee.join(engineer, engineer.c.id==employee.c.id).primary_key), + util.column_set([employee.c.id]) ) @@ -313,8 +314,8 @@ class ReduceTest(TestBase, AssertsExecutionResults): self.assertEquals( - set(sql_util.reduce_columns([t1.c.t1id, t1.c.t1data, t2.c.t2id, t2.c.t2data, t3.c.t3id, t3.c.t3data])), - set([t1.c.t1id, t1.c.t1data, t2.c.t2data, t3.c.t3data]) + util.column_set(sql_util.reduce_columns([t1.c.t1id, t1.c.t1data, t2.c.t2id, t2.c.t2data, t3.c.t3id, t3.c.t3data])), + util.column_set([t1.c.t1id, t1.c.t1data, t2.c.t2data, t3.c.t3data]) ) def test_reduce_selectable(self): @@ -332,8 +333,8 @@ class ReduceTest(TestBase, AssertsExecutionResults): s = select([engineers, managers]).where(engineers.c.engineer_name==managers.c.manager_name) - self.assertEquals(set(sql_util.reduce_columns(list(s.c), s)), - set([s.c.engineer_id, s.c.engineer_name, s.c.manager_id]) + self.assertEquals(util.column_set(sql_util.reduce_columns(list(s.c), s)), + util.column_set([s.c.engineer_id, s.c.engineer_name, s.c.manager_id]) ) def test_reduce_aliased_join(self): @@ -358,8 +359,8 @@ class ReduceTest(TestBase, AssertsExecutionResults): pjoin = people.outerjoin(engineers).outerjoin(managers).select(use_labels=True).alias('pjoin') self.assertEquals( - set(sql_util.reduce_columns([pjoin.c.people_person_id, pjoin.c.engineers_person_id, pjoin.c.managers_person_id])), - set([pjoin.c.people_person_id]) + util.column_set(sql_util.reduce_columns([pjoin.c.people_person_id, pjoin.c.engineers_person_id, pjoin.c.managers_person_id])), + util.column_set([pjoin.c.people_person_id]) ) def test_reduce_aliased_union(self): @@ -382,8 +383,8 @@ class ReduceTest(TestBase, AssertsExecutionResults): }, None, 'item_join') self.assertEquals( - set(sql_util.reduce_columns([item_join.c.id, item_join.c.dummy, item_join.c.child_name])), - set([item_join.c.id, item_join.c.dummy, item_join.c.child_name]) + util.column_set(sql_util.reduce_columns([item_join.c.id, item_join.c.dummy, item_join.c.child_name])), + util.column_set([item_join.c.id, item_join.c.dummy, item_join.c.child_name]) ) def test_reduce_aliased_union_2(self): @@ -407,8 +408,8 @@ class ReduceTest(TestBase, AssertsExecutionResults): }, None, 'page_join') self.assertEquals( - set(sql_util.reduce_columns([pjoin.c.id, pjoin.c.page_id, pjoin.c.magazine_page_id])), - set([pjoin.c.id]) + util.column_set(sql_util.reduce_columns([pjoin.c.id, pjoin.c.page_id, pjoin.c.magazine_page_id])), + util.column_set([pjoin.c.id]) ) diff --git a/test/sql/testtypes.py b/test/sql/testtypes.py index 02eebf631..7f8240d4c 100644 --- a/test/sql/testtypes.py +++ b/test/sql/testtypes.py @@ -292,6 +292,9 @@ class UnicodeTest(TestBase, AssertsExecutionResults): assert unicode_table.c.unicode_varchar.type.length == 250 rawdata = 'Alors vous imaginez ma surprise, au lever du jour, quand une dr\xc3\xb4le de petit voix m\xe2\x80\x99a r\xc3\xa9veill\xc3\xa9. Elle disait: \xc2\xab S\xe2\x80\x99il vous pla\xc3\xaet\xe2\x80\xa6 dessine-moi un mouton! \xc2\xbb\n' unicodedata = rawdata.decode('utf-8') + if testing.against('sqlite'): + rawdata = "something" + unicode_table.insert().execute(unicode_varchar=unicodedata, unicode_text=unicodedata, plain_varchar=rawdata) @@ -301,7 +304,8 @@ class UnicodeTest(TestBase, AssertsExecutionResults): if isinstance(x['plain_varchar'], unicode): # SQLLite and MSSQL return non-unicode data as unicode self.assert_(testing.against('sqlite', 'mssql')) - self.assert_(x['plain_varchar'] == unicodedata) + if not testing.against('sqlite'): + self.assert_(x['plain_varchar'] == unicodedata) print "it's %s!" % testing.db.name else: self.assert_(not isinstance(x['plain_varchar'], unicode) and x['plain_varchar'] == rawdata) @@ -311,6 +315,8 @@ class UnicodeTest(TestBase, AssertsExecutionResults): rawdata = 'Alors vous imaginez ma surprise, au lever du jour, quand une dr\xc3\xb4le de petit voix m\xe2\x80\x99a r\xc3\xa9veill\xc3\xa9. Elle disait: \xc2\xab S\xe2\x80\x99il vous pla\xc3\xaet\xe2\x80\xa6 dessine-moi un mouton! \xc2\xbb\n' unicodedata = rawdata.decode('utf-8') + if testing.against('sqlite'): + rawdata = "something" unicode_table.insert().execute(unicode_varchar=unicodedata, unicode_text=unicodedata, plain_varchar=rawdata) @@ -358,6 +364,8 @@ class UnicodeTest(TestBase, AssertsExecutionResults): testing.db.engine.dialect.assert_unicode = False rawdata = 'Alors vous imaginez ma surprise, au lever du jour, quand une dr\xc3\xb4le de petit voix m\xe2\x80\x99a r\xc3\xa9veill\xc3\xa9. Elle disait: \xc2\xab S\xe2\x80\x99il vous pla\xc3\xaet\xe2\x80\xa6 dessine-moi un mouton! \xc2\xbb\n' unicodedata = rawdata.decode('utf-8') + if testing.against('sqlite'): + rawdata = "something" unicode_table.insert().execute(unicode_varchar=unicodedata, unicode_text=unicodedata, plain_varchar=rawdata) @@ -368,7 +376,8 @@ class UnicodeTest(TestBase, AssertsExecutionResults): print 3, repr(x['plain_varchar']) self.assert_(isinstance(x['unicode_varchar'], unicode) and x['unicode_varchar'] == unicodedata) self.assert_(isinstance(x['unicode_text'], unicode) and x['unicode_text'] == unicodedata) - self.assert_(isinstance(x['plain_varchar'], unicode) and x['plain_varchar'] == unicodedata) + if not testing.against('sqlite'): + self.assert_(isinstance(x['plain_varchar'], unicode) and x['plain_varchar'] == unicodedata) finally: testing.db.engine.dialect.convert_unicode = prev_unicode testing.db.engine.dialect.convert_unicode = prev_assert -- cgit v1.2.1