diff options
Diffstat (limited to 'test')
88 files changed, 1245 insertions, 1228 deletions
diff --git a/test/aaa_profiling/test_compiler.py b/test/aaa_profiling/test_compiler.py index 1b7798d06..8304296da 100644 --- a/test/aaa_profiling/test_compiler.py +++ b/test/aaa_profiling/test_compiler.py @@ -29,7 +29,7 @@ class CompileTest(fixtures.TestBase, AssertsExecutionResults): for c in t.c: c.type._type_affinity from sqlalchemy import types - for t in types._type_map.values(): + for t in list(types._type_map.values()): t._type_affinity cls.dialect = default.DefaultDialect() diff --git a/test/aaa_profiling/test_memusage.py b/test/aaa_profiling/test_memusage.py index 57bddc859..20c6f0a65 100644 --- a/test/aaa_profiling/test_memusage.py +++ b/test/aaa_profiling/test_memusage.py @@ -47,7 +47,7 @@ def profile_memory(times=50): gc_collect() samples[x] = len(get_objects_skipping_sqlite_issue()) - print "sample gc sizes:", samples + print("sample gc sizes:", samples) assert len(_sessions) == 0 diff --git a/test/aaa_profiling/test_orm.py b/test/aaa_profiling/test_orm.py index b9eeb8361..199b96e5f 100644 --- a/test/aaa_profiling/test_orm.py +++ b/test/aaa_profiling/test_orm.py @@ -144,7 +144,7 @@ class LoadManyToOneFromIdentityTest(fixtures.MappedTest): child.insert().execute([ {'id':i, 'data':'c%d' % i} - for i in xrange(1, 251) + for i in range(1, 251) ]) parent.insert().execute([ { @@ -152,7 +152,7 @@ class LoadManyToOneFromIdentityTest(fixtures.MappedTest): 'data':'p%dc%d' % (i, (i % 250) + 1), 'child_id':(i % 250) + 1 } - for i in xrange(1, 1000) + for i in range(1, 1000) ]) def test_many_to_one_load_no_identity(self): @@ -234,11 +234,11 @@ class MergeBackrefsTest(fixtures.MappedTest): s = Session() s.add_all([ A(id=i, - bs=[B(id=(i * 5) + j) for j in xrange(1, 5)], + bs=[B(id=(i * 5) + j) for j in range(1, 5)], c=C(id=i), - ds=[D(id=(i * 5) + j) for j in xrange(1, 5)] + ds=[D(id=(i * 5) + j) for j in range(1, 5)] ) - for i in xrange(1, 5) + for i in range(1, 5) ]) s.commit() @@ -249,11 +249,11 @@ class MergeBackrefsTest(fixtures.MappedTest): s = Session() for a in [ A(id=i, - bs=[B(id=(i * 5) + j) for j in xrange(1, 5)], + bs=[B(id=(i * 5) + j) for j in range(1, 5)], c=C(id=i), - ds=[D(id=(i * 5) + j) for j in xrange(1, 5)] + ds=[D(id=(i * 5) + j) for j in range(1, 5)] ) - for i in xrange(1, 5) + for i in range(1, 5) ]: s.merge(a) diff --git a/test/aaa_profiling/test_resultset.py b/test/aaa_profiling/test_resultset.py index 0146d1b08..95a1fa3ae 100644 --- a/test/aaa_profiling/test_resultset.py +++ b/test/aaa_profiling/test_resultset.py @@ -19,10 +19,10 @@ class ResultSetTest(fixtures.TestBase, AssertsExecutionResults): def setup(self): metadata.create_all() - t.insert().execute([dict(('field%d' % fnum, u'value%d' % fnum) + t.insert().execute([dict(('field%d' % fnum, 'value%d' % fnum) for fnum in range(NUM_FIELDS)) for r_num in range(NUM_RECORDS)]) - t2.insert().execute([dict(('field%d' % fnum, u'value%d' % fnum) + t2.insert().execute([dict(('field%d' % fnum, 'value%d' % fnum) for fnum in range(NUM_FIELDS)) for r_num in range(NUM_RECORDS)]) @@ -88,7 +88,7 @@ class RowProxyTest(fixtures.TestBase): keymap = {} for index, (keyobjs, processor, values) in \ - enumerate(zip(keys, processors, row)): + enumerate(list(zip(keys, processors, row))): for key in keyobjs: keymap[key] = (processor, key, index) keymap[index] = (processor, key, index) diff --git a/test/aaa_profiling/test_zoomark.py b/test/aaa_profiling/test_zoomark.py index 5fc9ffc2a..79417e2dc 100644 --- a/test/aaa_profiling/test_zoomark.py +++ b/test/aaa_profiling/test_zoomark.py @@ -72,68 +72,68 @@ class ZooMarkTest(fixtures.TestBase): Zoo = metadata.tables['Zoo'] Animal = metadata.tables['Animal'] engine = metadata.bind - wap = engine.execute(Zoo.insert(), Name=u'Wild Animal Park', + wap = engine.execute(Zoo.insert(), Name='Wild Animal Park', Founded=datetime.date(2000, 1, 1), Opens=datetime.time(8, 15, 59), LastEscape= datetime.datetime(2004, 7, 29, 5, 6, 7), Admission=4.95).inserted_primary_key[0] - sdz = engine.execute(Zoo.insert(), Name=u'San Diego Zoo', + sdz = engine.execute(Zoo.insert(), Name='San Diego Zoo', Founded=datetime.date(1935, 9, 13), Opens=datetime.time(9, 0, 0), Admission=0).inserted_primary_key[0] - engine.execute(Zoo.insert(inline=True), Name=u'Montr\xe9al Biod\xf4me', + engine.execute(Zoo.insert(inline=True), Name='Montr\xe9al Biod\xf4me', Founded=datetime.date(1992, 6, 19), Opens=datetime.time(9, 0, 0), Admission=11.75) - seaworld = engine.execute(Zoo.insert(), Name=u'Sea_World', + seaworld = engine.execute(Zoo.insert(), Name='Sea_World', Admission=60).inserted_primary_key[0] # Let's add a crazy futuristic Zoo to test large date values. - lp = engine.execute(Zoo.insert(), Name=u'Luna Park', + lp = engine.execute(Zoo.insert(), Name='Luna Park', Founded=datetime.date(2072, 7, 17), Opens=datetime.time(0, 0, 0), Admission=134.95).inserted_primary_key[0] # Animals - leopardid = engine.execute(Animal.insert(), Species=u'Leopard', + leopardid = engine.execute(Animal.insert(), Species='Leopard', Lifespan=73.5).inserted_primary_key[0] engine.execute(Animal.update(Animal.c.ID == leopardid), ZooID=wap, LastEscape=datetime.datetime( 2004, 12, 21, 8, 15, 0, 999907,) ) - lion = engine.execute(Animal.insert(), Species=u'Lion', + lion = engine.execute(Animal.insert(), Species='Lion', ZooID=wap).inserted_primary_key[0] - engine.execute(Animal.insert(), Species=u'Slug', Legs=1, Lifespan=.75) - tiger = engine.execute(Animal.insert(), Species=u'Tiger', + engine.execute(Animal.insert(), Species='Slug', Legs=1, Lifespan=.75) + tiger = engine.execute(Animal.insert(), Species='Tiger', ZooID=sdz).inserted_primary_key[0] # Override Legs.default with itself just to make sure it works. - engine.execute(Animal.insert(inline=True), Species=u'Bear', Legs=4) - engine.execute(Animal.insert(inline=True), Species=u'Ostrich', Legs=2, + engine.execute(Animal.insert(inline=True), Species='Bear', Legs=4) + engine.execute(Animal.insert(inline=True), Species='Ostrich', Legs=2, Lifespan=103.2) - engine.execute(Animal.insert(inline=True), Species=u'Centipede', + engine.execute(Animal.insert(inline=True), Species='Centipede', Legs=100) - emp = engine.execute(Animal.insert(), Species=u'Emperor Penguin', + emp = engine.execute(Animal.insert(), Species='Emperor Penguin', Legs=2, ZooID=seaworld).inserted_primary_key[0] - adelie = engine.execute(Animal.insert(), Species=u'Adelie Penguin', + adelie = engine.execute(Animal.insert(), Species='Adelie Penguin', Legs=2, ZooID=seaworld).inserted_primary_key[0] - engine.execute(Animal.insert(inline=True), Species=u'Millipede', + engine.execute(Animal.insert(inline=True), Species='Millipede', Legs=1000000, ZooID=sdz) # Add a mother and child to test relationships - bai_yun = engine.execute(Animal.insert(), Species=u'Ape', - Name=u'Bai Yun', Legs=2).inserted_primary_key[0] - engine.execute(Animal.insert(inline=True), Species=u'Ape', - Name=u'Hua Mei', Legs=2, MotherID=bai_yun) + bai_yun = engine.execute(Animal.insert(), Species='Ape', + Name='Bai Yun', Legs=2).inserted_primary_key[0] + engine.execute(Animal.insert(inline=True), Species='Ape', + Name='Hua Mei', Legs=2, MotherID=bai_yun) def test_baseline_2_insert(self): Animal = metadata.tables['Animal'] i = Animal.insert(inline=True) - for x in xrange(ITERATIONS): - tick = i.execute(Species=u'Tick', Name=u'Tick %d' % x, + for x in range(ITERATIONS): + tick = i.execute(Species='Tick', Name='Tick %d' % x, Legs=8) def test_baseline_3_properties(self): @@ -146,28 +146,28 @@ class ZooMarkTest(fixtures.TestBase): return list(engine.execute(select).first()) - for x in xrange(ITERATIONS): + for x in range(ITERATIONS): # Zoos WAP = fullobject(Zoo.select(Zoo.c.Name - == u'Wild Animal Park')) + == 'Wild Animal Park')) SDZ = fullobject(Zoo.select(Zoo.c.Founded == datetime.date(1935, 9, 13))) Biodome = fullobject(Zoo.select(Zoo.c.Name - == u'Montr\xe9al Biod\xf4me')) + == 'Montr\xe9al Biod\xf4me')) seaworld = fullobject(Zoo.select(Zoo.c.Admission == float(60))) # Animals leopard = fullobject(Animal.select(Animal.c.Species - == u'Leopard')) + == 'Leopard')) ostrich = fullobject(Animal.select(Animal.c.Species - == u'Ostrich')) + == 'Ostrich')) millipede = fullobject(Animal.select(Animal.c.Legs == 1000000)) - ticks = fullobject(Animal.select(Animal.c.Species == u'Tick' + ticks = fullobject(Animal.select(Animal.c.Species == 'Tick' )) def test_baseline_4_expressions(self): @@ -180,7 +180,7 @@ class ZooMarkTest(fixtures.TestBase): return [list(row) for row in engine.execute(select).fetchall()] - for x in xrange(ITERATIONS): + for x in range(ITERATIONS): assert len(fulltable(Zoo.select())) == 5 assert len(fulltable(Animal.select())) == ITERATIONS + 12 assert len(fulltable(Animal.select(Animal.c.Legs == 4))) \ @@ -194,9 +194,9 @@ class ZooMarkTest(fixtures.TestBase): assert len(fulltable(Animal.select(Animal.c.Lifespan > 70))) == 2 assert len(fulltable(Animal.select(Animal.c.Species. - startswith(u'L')))) == 2 + startswith('L')))) == 2 assert len(fulltable(Animal.select(Animal.c.Species. - endswith(u'pede')))) == 2 + endswith('pede')))) == 2 assert len(fulltable(Animal.select(Animal.c.LastEscape != None))) == 1 assert len(fulltable(Animal.select(None @@ -204,10 +204,10 @@ class ZooMarkTest(fixtures.TestBase): # In operator (containedby) - assert len(fulltable(Animal.select(Animal.c.Species.like(u'%pede%' + assert len(fulltable(Animal.select(Animal.c.Species.like('%pede%' )))) == 2 - assert len(fulltable(Animal.select(Animal.c.Species.in_([u'Lion' - , u'Tiger', u'Bear'])))) == 3 + assert len(fulltable(Animal.select(Animal.c.Species.in_(['Lion' + , 'Tiger', 'Bear'])))) == 3 # Try In with cell references class thing(object): @@ -215,20 +215,20 @@ class ZooMarkTest(fixtures.TestBase): pet, pet2 = thing(), thing() - pet.Name, pet2.Name = u'Slug', u'Ostrich' + pet.Name, pet2.Name = 'Slug', 'Ostrich' assert len(fulltable(Animal.select(Animal.c.Species.in_([pet.Name, pet2.Name])))) == 2 # logic and other functions - assert len(fulltable(Animal.select(Animal.c.Species.like(u'Slug' + assert len(fulltable(Animal.select(Animal.c.Species.like('Slug' )))) == 1 - assert len(fulltable(Animal.select(Animal.c.Species.like(u'%pede%' + assert len(fulltable(Animal.select(Animal.c.Species.like('%pede%' )))) == 2 - name = u'Lion' + name = 'Lion' assert len(fulltable(Animal.select(func.length(Animal.c.Species) == len(name)))) == ITERATIONS + 3 - assert len(fulltable(Animal.select(Animal.c.Species.like(u'%i%' + assert len(fulltable(Animal.select(Animal.c.Species.like('%i%' )))) == ITERATIONS + 7 # Test now(), today(), year(), month(), day() @@ -250,7 +250,7 @@ class ZooMarkTest(fixtures.TestBase): Zoo = metadata.tables['Zoo'] engine = metadata.bind - for x in xrange(ITERATIONS): + for x in range(ITERATIONS): # views @@ -274,7 +274,7 @@ class ZooMarkTest(fixtures.TestBase): for species, lifespan in engine.execute(select([Animal.c.Species, Animal.c.Lifespan])).fetchall(): assert lifespan == expected[species] - expected = [u'Montr\xe9al Biod\xf4me', 'Wild Animal Park'] + expected = ['Montr\xe9al Biod\xf4me', 'Wild Animal Park'] e = select([Zoo.c.Name], and_(Zoo.c.Founded != None, Zoo.c.Founded <= func.current_timestamp(), Zoo.c.Founded >= datetime.date(1990, 1, 1))) @@ -290,21 +290,21 @@ class ZooMarkTest(fixtures.TestBase): def test_baseline_6_editing(self): Zoo = metadata.tables['Zoo'] engine = metadata.bind - for x in xrange(ITERATIONS): + for x in range(ITERATIONS): # Edit - SDZ = engine.execute(Zoo.select(Zoo.c.Name == u'San Diego Zoo' + SDZ = engine.execute(Zoo.select(Zoo.c.Name == 'San Diego Zoo' )).first() engine.execute(Zoo.update(Zoo.c.ID == SDZ['ID' - ]), Name=u'The San Diego Zoo', + ]), Name='The San Diego Zoo', Founded=datetime.date(1900, 1, 1), Opens=datetime.time(7, 30, 0), Admission='35.00') # Test edits - SDZ = engine.execute(Zoo.select(Zoo.c.Name == u'The San Diego Zoo' + SDZ = engine.execute(Zoo.select(Zoo.c.Name == 'The San Diego Zoo' )).first() assert SDZ['Founded'] == datetime.date(1900, 1, 1), \ SDZ['Founded'] @@ -312,14 +312,14 @@ class ZooMarkTest(fixtures.TestBase): # Change it back engine.execute(Zoo.update(Zoo.c.ID == SDZ['ID' - ]), Name=u'San Diego Zoo', + ]), Name='San Diego Zoo', Founded=datetime.date(1935, 9, 13), Opens=datetime.time(9, 0, 0), Admission='0') # Test re-edits - SDZ = engine.execute(Zoo.select(Zoo.c.Name == u'San Diego Zoo' + SDZ = engine.execute(Zoo.select(Zoo.c.Name == 'San Diego Zoo' )).first() assert SDZ['Founded'] == datetime.date(1935, 9, 13) @@ -333,14 +333,14 @@ class ZooMarkTest(fixtures.TestBase): return [list(row) for row in engine.execute(select).fetchall()] - for x in xrange(ITERATIONS): + for x in range(ITERATIONS): za = fulltable(select([Zoo.c.ID] + list(Animal.c), - Zoo.c.Name == u'San Diego Zoo', + Zoo.c.Name == 'San Diego Zoo', from_obj=[join(Zoo, Animal)])) - SDZ = Zoo.select(Zoo.c.Name == u'San Diego Zoo') + SDZ = Zoo.select(Zoo.c.Name == 'San Diego Zoo') e = fulltable(select([Zoo.c.ID, Animal.c.ID], - and_(Zoo.c.Name == u'San Diego Zoo', - Animal.c.Species == u'Leopard'), + and_(Zoo.c.Name == 'San Diego Zoo', + Animal.c.Species == 'Leopard'), from_obj=[join(Zoo, Animal)])) # Now try the same query with INNER, LEFT, and RIGHT JOINs. diff --git a/test/aaa_profiling/test_zoomark_orm.py b/test/aaa_profiling/test_zoomark_orm.py index f8c5477f7..40fb8b03b 100644 --- a/test/aaa_profiling/test_zoomark_orm.py +++ b/test/aaa_profiling/test_zoomark_orm.py @@ -75,14 +75,14 @@ class ZooMarkTest(fixtures.TestBase): class Zoo(object): def __init__(self, **kwargs): - for k, v in kwargs.iteritems(): + for k, v in kwargs.items(): setattr(self, k, v) class Animal(object): def __init__(self, **kwargs): - for k, v in kwargs.iteritems(): + for k, v in kwargs.items(): setattr(self, k, v) @@ -90,93 +90,93 @@ class ZooMarkTest(fixtures.TestBase): mapper(Animal, animal) def test_baseline_1a_populate(self): - wap = Zoo(Name=u'Wild Animal Park', Founded=datetime.date(2000, + wap = Zoo(Name='Wild Animal Park', Founded=datetime.date(2000, 1, 1), Opens=datetime.time(8, 15, 59), LastEscape=datetime.datetime( 2004, 7, 29, 5, 6, 7, ), Admission=4.95) session.add(wap) - sdz = Zoo(Name=u'San Diego Zoo', Founded=datetime.date(1835, 9, + sdz = Zoo(Name='San Diego Zoo', Founded=datetime.date(1835, 9, 13), Opens=datetime.time(9, 0, 0), Admission=0) session.add(sdz) - bio = Zoo(Name=u'Montr\xe9al Biod\xf4me', + bio = Zoo(Name='Montr\xe9al Biod\xf4me', Founded=datetime.date(1992, 6, 19), Opens=datetime.time(9, 0, 0), Admission=11.75) session.add(bio) - seaworld = Zoo(Name=u'Sea_World', Admission=60) + seaworld = Zoo(Name='Sea_World', Admission=60) session.add(seaworld) # Let's add a crazy futuristic Zoo to test large date values. - lp = Zoo(Name=u'Luna Park', Founded=datetime.date(2072, 7, 17), + lp = Zoo(Name='Luna Park', Founded=datetime.date(2072, 7, 17), Opens=datetime.time(0, 0, 0), Admission=134.95) session.add(lp) session.flush() # Animals - leopard = Animal(Species=u'Leopard', Lifespan=73.5) + leopard = Animal(Species='Leopard', Lifespan=73.5) session.add(leopard) leopard.ZooID = wap.ID leopard.LastEscape = \ datetime.datetime(2004, 12, 21, 8, 15, 0, 999907, ) - session.add(Animal(Species=u'Lion', ZooID=wap.ID)) - session.add(Animal(Species=u'Slug', Legs=1, Lifespan=.75)) - session.add(Animal(Species=u'Tiger', ZooID=sdz.ID)) + session.add(Animal(Species='Lion', ZooID=wap.ID)) + session.add(Animal(Species='Slug', Legs=1, Lifespan=.75)) + session.add(Animal(Species='Tiger', ZooID=sdz.ID)) # Override Legs.default with itself just to make sure it works. - session.add(Animal(Species=u'Bear', Legs=4)) - session.add(Animal(Species=u'Ostrich', Legs=2, Lifespan=103.2)) - session.add(Animal(Species=u'Centipede', Legs=100)) - session.add(Animal(Species=u'Emperor Penguin', Legs=2, + session.add(Animal(Species='Bear', Legs=4)) + session.add(Animal(Species='Ostrich', Legs=2, Lifespan=103.2)) + session.add(Animal(Species='Centipede', Legs=100)) + session.add(Animal(Species='Emperor Penguin', Legs=2, ZooID=seaworld.ID)) - session.add(Animal(Species=u'Adelie Penguin', Legs=2, + session.add(Animal(Species='Adelie Penguin', Legs=2, ZooID=seaworld.ID)) - session.add(Animal(Species=u'Millipede', Legs=1000000, + session.add(Animal(Species='Millipede', Legs=1000000, ZooID=sdz.ID)) # Add a mother and child to test relationships - bai_yun = Animal(Species=u'Ape', Nameu=u'Bai Yun', Legs=2) + bai_yun = Animal(Species='Ape', Nameu='Bai Yun', Legs=2) session.add(bai_yun) - session.add(Animal(Species=u'Ape', Name=u'Hua Mei', Legs=2, + session.add(Animal(Species='Ape', Name='Hua Mei', Legs=2, MotherID=bai_yun.ID)) session.flush() session.commit() def test_baseline_2_insert(self): - for x in xrange(ITERATIONS): - session.add(Animal(Species=u'Tick', Name=u'Tick %d' % x, + for x in range(ITERATIONS): + session.add(Animal(Species='Tick', Name='Tick %d' % x, Legs=8)) session.flush() def test_baseline_3_properties(self): - for x in xrange(ITERATIONS): + for x in range(ITERATIONS): # Zoos WAP = list(session.query(Zoo).filter(Zoo.Name - == u'Wild Animal Park')) + == 'Wild Animal Park')) SDZ = list(session.query(Zoo).filter(Zoo.Founded == datetime.date(1835, 9, 13))) Biodome = list(session.query(Zoo).filter(Zoo.Name - == u'Montr\xe9al Biod\xf4me')) + == 'Montr\xe9al Biod\xf4me')) seaworld = list(session.query(Zoo).filter(Zoo.Admission == float(60))) # Animals leopard = list(session.query(Animal).filter(Animal.Species - == u'Leopard')) + == 'Leopard')) ostrich = list(session.query(Animal).filter(Animal.Species - == u'Ostrich')) + == 'Ostrich')) millipede = list(session.query(Animal).filter(Animal.Legs == 1000000)) ticks = list(session.query(Animal).filter(Animal.Species - == u'Tick')) + == 'Tick')) def test_baseline_4_expressions(self): - for x in xrange(ITERATIONS): + for x in range(ITERATIONS): assert len(list(session.query(Zoo))) == 5 assert len(list(session.query(Animal))) == ITERATIONS + 12 assert len(list(session.query(Animal).filter(Animal.Legs @@ -190,9 +190,9 @@ class ZooMarkTest(fixtures.TestBase): assert len(list(session.query(Animal).filter(Animal.Lifespan > 70))) == 2 assert len(list(session.query(Animal). - filter(Animal.Species.like(u'L%')))) == 2 + filter(Animal.Species.like('L%')))) == 2 assert len(list(session.query(Animal). - filter(Animal.Species.like(u'%pede')))) == 2 + filter(Animal.Species.like('%pede')))) == 2 assert len(list(session.query(Animal).filter(Animal.LastEscape != None))) == 1 assert len(list(session.query(Animal).filter(Animal.LastEscape @@ -201,29 +201,29 @@ class ZooMarkTest(fixtures.TestBase): # In operator (containedby) assert len(list(session.query(Animal).filter( - Animal.Species.like(u'%pede%')))) == 2 + Animal.Species.like('%pede%')))) == 2 assert len(list(session.query(Animal). - filter(Animal.Species.in_((u'Lion' - , u'Tiger', u'Bear'))))) == 3 + filter(Animal.Species.in_(('Lion' + , 'Tiger', 'Bear'))))) == 3 # Try In with cell references class thing(object): pass pet, pet2 = thing(), thing() - pet.Name, pet2.Name = u'Slug', u'Ostrich' + pet.Name, pet2.Name = 'Slug', 'Ostrich' assert len(list(session.query(Animal). filter(Animal.Species.in_((pet.Name, pet2.Name))))) == 2 # logic and other functions - name = u'Lion' + name = 'Lion' assert len(list(session.query(Animal). filter(func.length(Animal.Species) == len(name)))) == ITERATIONS + 3 assert len(list(session.query(Animal). - filter(Animal.Species.like(u'%i%' + filter(Animal.Species.like('%i%' )))) == ITERATIONS + 7 # Test now(), today(), year(), month(), day() @@ -246,7 +246,7 @@ class ZooMarkTest(fixtures.TestBase): # TODO: convert to ORM engine = metadata.bind - for x in xrange(ITERATIONS): + for x in range(ITERATIONS): # views @@ -270,7 +270,7 @@ class ZooMarkTest(fixtures.TestBase): for species, lifespan in engine.execute(select([Animal.c.Species, Animal.c.Lifespan])).fetchall(): assert lifespan == expected[species] - expected = [u'Montr\xe9al Biod\xf4me', 'Wild Animal Park'] + expected = ['Montr\xe9al Biod\xf4me', 'Wild Animal Park'] e = select([Zoo.c.Name], and_(Zoo.c.Founded != None, Zoo.c.Founded <= func.current_timestamp(), Zoo.c.Founded >= datetime.date(1990, 1, 1))) @@ -284,13 +284,13 @@ class ZooMarkTest(fixtures.TestBase): legs.sort() def test_baseline_6_editing(self): - for x in xrange(ITERATIONS): + for x in range(ITERATIONS): # Edit - SDZ = session.query(Zoo).filter(Zoo.Name == u'San Diego Zoo' + SDZ = session.query(Zoo).filter(Zoo.Name == 'San Diego Zoo' ).one() - SDZ.Name = u'The San Diego Zoo' + SDZ.Name = 'The San Diego Zoo' SDZ.Founded = datetime.date(1900, 1, 1) SDZ.Opens = datetime.time(7, 30, 0) SDZ.Admission = 35.00 @@ -298,19 +298,19 @@ class ZooMarkTest(fixtures.TestBase): # Test edits SDZ = session.query(Zoo).filter(Zoo.Name - == u'The San Diego Zoo').one() + == 'The San Diego Zoo').one() assert SDZ.Founded == datetime.date(1900, 1, 1), SDZ.Founded # Change it back - SDZ.Name = u'San Diego Zoo' + SDZ.Name = 'San Diego Zoo' SDZ.Founded = datetime.date(1835, 9, 13) SDZ.Opens = datetime.time(9, 0, 0) SDZ.Admission = 0 # Test re-edits - SDZ = session.query(Zoo).filter(Zoo.Name == u'San Diego Zoo' + SDZ = session.query(Zoo).filter(Zoo.Name == 'San Diego Zoo' ).one() assert SDZ.Founded == datetime.date(1835, 9, 13), \ SDZ.Founded diff --git a/test/base/test_dependency.py b/test/base/test_dependency.py index f4a0a4c8b..b16516f15 100644 --- a/test/base/test_dependency.py +++ b/test/base/test_dependency.py @@ -82,7 +82,7 @@ class DependencySortTest(fixtures.TestBase): try: list(topological.sort(tuples, allitems)) assert False - except exc.CircularDependencyError, err: + except exc.CircularDependencyError as err: eq_(err.cycles, set(['node1', 'node3', 'node2', 'node5', 'node4'])) eq_(err.edges, set([('node3', 'node1'), ('node4', 'node1'), @@ -105,7 +105,7 @@ class DependencySortTest(fixtures.TestBase): try: list(topological.sort(tuples, allitems)) assert False - except exc.CircularDependencyError, err: + except exc.CircularDependencyError as err: eq_(err.cycles, set(['node1', 'node3', 'node2'])) eq_(err.edges, set([('node3', 'node1'), ('node2', 'node3'), ('node3', 'node2'), ('node1', 'node2'), @@ -271,7 +271,7 @@ class DependencySortTest(fixtures.TestBase): ('node4', 'node17'), ('node2', 'node20'), ('node19', 'node10'), ('node8', 'node4'), ('node11', 'node3'), ('node6', 'node1') ] - allnodes = ['node%d' % i for i in xrange(1, 21)] + allnodes = ['node%d' % i for i in range(1, 21)] eq_( topological.find_cycles(tuples, allnodes), set(['node11', 'node10', 'node13', 'node15', 'node14', 'node17', diff --git a/test/base/test_events.py b/test/base/test_events.py index 4efb30aba..7cfb5fa7d 100644 --- a/test/base/test_events.py +++ b/test/base/test_events.py @@ -190,7 +190,7 @@ class ClsLevelListenTest(fixtures.TestBase): def test_lis_subcalss_lis(self): @event.listens_for(self.TargetOne, "event_one") def handler1(x, y): - print 'handler1' + print('handler1') class SubTarget(self.TargetOne): pass @@ -207,7 +207,7 @@ class ClsLevelListenTest(fixtures.TestBase): def test_lis_multisub_lis(self): @event.listens_for(self.TargetOne, "event_one") def handler1(x, y): - print 'handler1' + print('handler1') class SubTarget(self.TargetOne): pass diff --git a/test/base/test_except.py b/test/base/test_except.py index a8c7de201..f2428c22d 100644 --- a/test/base/test_except.py +++ b/test/base/test_except.py @@ -5,14 +5,15 @@ from sqlalchemy import exc as sa_exceptions from sqlalchemy.testing import fixtures from sqlalchemy.testing import eq_ -# Py3K -#StandardError = BaseException -# Py2K -from exceptions import StandardError, KeyboardInterrupt, SystemExit +# start Py3K +Exception = BaseException +# end Py3K +# start Py2K +#from exceptions import StandardError, KeyboardInterrupt, SystemExit # end Py2K -class Error(StandardError): +class Error(Exception): """This class will be old-style on <= 2.4 and new-style on >= 2.5.""" @@ -47,7 +48,7 @@ class WrapTest(fixtures.TestBase): try: raise sa_exceptions.DBAPIError.instance('this is a message' , None, OperationalError(), DatabaseError) - except sa_exceptions.DBAPIError, exc: + except sa_exceptions.DBAPIError as exc: assert str(exc) \ == "(OperationalError) 'this is a message' None" @@ -58,7 +59,7 @@ class WrapTest(fixtures.TestBase): {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8, 'i': 9, 'j': 10, 'k': 11, }, OperationalError(), DatabaseError) - except sa_exceptions.DBAPIError, exc: + except sa_exceptions.DBAPIError as exc: assert str(exc).startswith("(OperationalError) 'this is a " "message' {") @@ -67,7 +68,7 @@ class WrapTest(fixtures.TestBase): raise sa_exceptions.DBAPIError.instance('this is a message', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,], OperationalError(), DatabaseError) - except sa_exceptions.DBAPIError, exc: + except sa_exceptions.DBAPIError as exc: assert str(exc).startswith("(OperationalError) 'this is a " "message' [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]") @@ -77,7 +78,7 @@ class WrapTest(fixtures.TestBase): [{1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1:1}, {1: 1}, {1: 1},], OperationalError(), DatabaseError) - except sa_exceptions.DBAPIError, exc: + except sa_exceptions.DBAPIError as exc: eq_(str(exc) , "(OperationalError) 'this is a message' [{1: 1}, "\ "{1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: "\ @@ -87,7 +88,7 @@ class WrapTest(fixtures.TestBase): {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1:1}, {1: 1}, {1: 1}, {1: 1}, ], OperationalError(), DatabaseError) - except sa_exceptions.DBAPIError, exc: + except sa_exceptions.DBAPIError as exc: eq_(str(exc) , "(OperationalError) 'this is a message' [{1: 1}, " "{1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, " @@ -100,7 +101,7 @@ class WrapTest(fixtures.TestBase): (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), ], OperationalError(), DatabaseError) - except sa_exceptions.DBAPIError, exc: + except sa_exceptions.DBAPIError as exc: eq_(str(exc), "(OperationalError) 'this is a message' [(1,), "\ "(1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,)]") @@ -109,7 +110,7 @@ class WrapTest(fixtures.TestBase): (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), (1, ), ], OperationalError(), DatabaseError) - except sa_exceptions.DBAPIError, exc: + except sa_exceptions.DBAPIError as exc: eq_(str(exc), "(OperationalError) 'this is a message' [(1,), " "(1,), (1,), (1,), (1,), (1,), (1,), (1,) " @@ -121,7 +122,7 @@ class WrapTest(fixtures.TestBase): try: raise sa_exceptions.DBAPIError.instance('', [], ProgrammingError(), DatabaseError) - except sa_exceptions.DBAPIError, e: + except sa_exceptions.DBAPIError as e: self.assert_(True) self.assert_('Error in str() of DB-API' in e.args[0]) @@ -129,7 +130,7 @@ class WrapTest(fixtures.TestBase): try: raise sa_exceptions.DBAPIError.instance('', [], OutOfSpec(), DatabaseError) - except sa_exceptions.DBAPIError, e: + except sa_exceptions.DBAPIError as e: self.assert_(e.__class__ is sa_exceptions.DBAPIError) except OutOfSpec: self.assert_(False) @@ -137,7 +138,7 @@ class WrapTest(fixtures.TestBase): try: raise sa_exceptions.DBAPIError.instance('', [], sa_exceptions.ArgumentError(), DatabaseError) - except sa_exceptions.DBAPIError, e: + except sa_exceptions.DBAPIError as e: self.assert_(e.__class__ is sa_exceptions.DBAPIError) except sa_exceptions.ArgumentError: self.assert_(False) diff --git a/test/base/test_utils.py b/test/base/test_utils.py index af881af17..6dcfaf9d1 100644 --- a/test/base/test_utils.py +++ b/test/base/test_utils.py @@ -16,7 +16,7 @@ class KeyedTupleTest(): eq_(len(keyed_tuple), 0) eq_(keyed_tuple.__dict__, {'_labels': []}) - eq_(keyed_tuple.keys(), []) + eq_(list(keyed_tuple.keys()), []) eq_(keyed_tuple._fields, ()) eq_(keyed_tuple._asdict(), {}) @@ -27,7 +27,7 @@ class KeyedTupleTest(): eq_(len(keyed_tuple), 2) eq_(keyed_tuple.__dict__, {'_labels': []}) - eq_(keyed_tuple.keys(), []) + eq_(list(keyed_tuple.keys()), []) eq_(keyed_tuple._fields, ()) eq_(keyed_tuple._asdict(), {}) @@ -37,7 +37,7 @@ class KeyedTupleTest(): def test_basic_creation(self): keyed_tuple = util.KeyedTuple([1, 2], ['a', 'b']) eq_(str(keyed_tuple), '(1, 2)') - eq_(keyed_tuple.keys(), ['a', 'b']) + eq_(list(keyed_tuple.keys()), ['a', 'b']) eq_(keyed_tuple._fields, ('a', 'b')) eq_(keyed_tuple._asdict(), {'a': 1, 'b': 2}) @@ -66,7 +66,7 @@ class KeyedTupleTest(): # TODO: consider not allowing None labels expected = {'a': 1, None: 2, 'b': 3, '_labels': ['a', None, 'b']} eq_(keyed_tuple.__dict__, expected) - eq_(keyed_tuple.keys(), ['a', 'b']) + eq_(list(keyed_tuple.keys()), ['a', 'b']) eq_(keyed_tuple._fields, ('a', 'b')) eq_(keyed_tuple._asdict(), {'a': 1, 'b': 3}) @@ -86,7 +86,7 @@ class KeyedTupleTest(): # TODO: consider not allowing duplicate labels expected = {'a': 1, 'b': 3, '_labels': ['a', 'b', 'b']} eq_(keyed_tuple.__dict__, expected) - eq_(keyed_tuple.keys(), ['a', 'b', 'b']) + eq_(list(keyed_tuple.keys()), ['a', 'b', 'b']) eq_(keyed_tuple._fields, ('a', 'b', 'b')) eq_(keyed_tuple._asdict(), {'a': 1, 'b': 3}) @@ -125,12 +125,12 @@ class OrderedDictTest(fixtures.TestBase): o['snack'] = 'attack' o['c'] = 3 - eq_(o.keys(), ['a', 'b', 'snack', 'c']) - eq_(o.values(), [1, 2, 'attack', 3]) + eq_(list(o.keys()), ['a', 'b', 'snack', 'c']) + eq_(list(o.values()), [1, 2, 'attack', 3]) o.pop('snack') - eq_(o.keys(), ['a', 'b', 'c']) - eq_(o.values(), [1, 2, 3]) + eq_(list(o.keys()), ['a', 'b', 'c']) + eq_(list(o.values()), [1, 2, 3]) try: o.pop('eep') @@ -146,40 +146,40 @@ class OrderedDictTest(fixtures.TestBase): except TypeError: pass - eq_(o.keys(), ['a', 'b', 'c']) - eq_(o.values(), [1, 2, 3]) + eq_(list(o.keys()), ['a', 'b', 'c']) + eq_(list(o.values()), [1, 2, 3]) o2 = util.OrderedDict(d=4) o2['e'] = 5 - eq_(o2.keys(), ['d', 'e']) - eq_(o2.values(), [4, 5]) + eq_(list(o2.keys()), ['d', 'e']) + eq_(list(o2.values()), [4, 5]) o.update(o2) - eq_(o.keys(), ['a', 'b', 'c', 'd', 'e']) - eq_(o.values(), [1, 2, 3, 4, 5]) + eq_(list(o.keys()), ['a', 'b', 'c', 'd', 'e']) + eq_(list(o.values()), [1, 2, 3, 4, 5]) o.setdefault('c', 'zzz') o.setdefault('f', 6) - eq_(o.keys(), ['a', 'b', 'c', 'd', 'e', 'f']) - eq_(o.values(), [1, 2, 3, 4, 5, 6]) + eq_(list(o.keys()), ['a', 'b', 'c', 'd', 'e', 'f']) + eq_(list(o.values()), [1, 2, 3, 4, 5, 6]) def test_odict_constructor(self): o = util.OrderedDict([('name', 'jbe'), ('fullname', 'jonathan' ), ('password', '')]) - eq_(o.keys(), ['name', 'fullname', 'password']) + eq_(list(o.keys()), ['name', 'fullname', 'password']) def test_odict_copy(self): o = util.OrderedDict() o["zzz"] = 1 o["aaa"] = 2 - eq_(o.keys(), ['zzz', 'aaa']) + eq_(list(o.keys()), ['zzz', 'aaa']) o2 = o.copy() - eq_(o2.keys(), o.keys()) + eq_(list(o2.keys()), list(o.keys())) o3 = copy.copy(o) - eq_(o3.keys(), o.keys()) + eq_(list(o3.keys()), list(o.keys())) class OrderedSetTest(fixtures.TestBase): @@ -198,7 +198,7 @@ class FrozenDictTest(fixtures.TestBase): def test_serialize(self): d = util.immutabledict({1: 2, 3: 4}) for loads, dumps in picklers(): - print loads(dumps(d)) + print(loads(dumps(d))) class MemoizedAttrTest(fixtures.TestBase): @@ -252,7 +252,7 @@ class ColumnCollectionTest(fixtures.TestBase): try: cc['col1'] in cc assert False - except exc.ArgumentError, e: + except exc.ArgumentError as e: eq_(str(e), "__contains__ requires a string argument") def test_compare(self): @@ -414,14 +414,14 @@ class IdentitySetTest(fixtures.TestBase): for type_ in (object, ImmutableSubclass): data = [type_(), type_()] ids = util.IdentitySet() - for i in range(2) + range(2): + for i in list(range(2)) + list(range(2)): ids.add(data[i]) self.assert_eq(ids, data) for type_ in (EqOverride, HashOverride, HashEqOverride): data = [type_(1), type_(1), type_(2)] ids = util.IdentitySet() - for i in range(3) + range(3): + for i in list(range(3)) + list(range(3)): ids.add(data[i]) self.assert_eq(ids, data) @@ -843,13 +843,14 @@ class IdentitySetTest(fixtures.TestBase): return super_, sub_, twin1, twin2, unique1, unique2 def _assert_unorderable_types(self, callable_): - # Py3K - #assert_raises_message( - # TypeError, 'unorderable types', callable_) - # Py2K +# start Py3K assert_raises_message( - TypeError, 'cannot compare sets using cmp()', callable_) - # end Py2K + TypeError, 'unorderable types', callable_) +# end Py3K +# start Py2K +# assert_raises_message( +# TypeError, 'cannot compare sets using cmp()', callable_) +# end Py2K def test_basic_sanity(self): IdentitySet = util.IdentitySet @@ -969,23 +970,23 @@ class DictlikeIteritemsTest(fixtures.TestBase): d = subdict(a=1, b=2, c=3) self._ok(d) - # Py2K - def test_UserDict(self): - import UserDict - d = UserDict.UserDict(a=1, b=2, c=3) - self._ok(d) - # end Py2K +# start Py2K +# def test_UserDict(self): +# import UserDict +# d = UserDict.UserDict(a=1, b=2, c=3) +# self._ok(d) +# end Py2K def test_object(self): self._notok(object()) - # Py2K - def test_duck_1(self): - class duck1(object): - def iteritems(duck): - return iter(self.baseline) - self._ok(duck1()) - # end Py2K +# start Py2K +# def test_duck_1(self): +# class duck1(object): +# def iteritems(duck): +# return iter(self.baseline) +# self._ok(duck1()) +# end Py2K def test_duck_2(self): class duck2(object): @@ -993,16 +994,16 @@ class DictlikeIteritemsTest(fixtures.TestBase): return list(self.baseline) self._ok(duck2()) - # Py2K - def test_duck_3(self): - class duck3(object): - def iterkeys(duck): - return iter(['a', 'b', 'c']) - - def __getitem__(duck, key): - return dict(a=1, b=2, c=3).get(key) - self._ok(duck3()) - # end Py2K +# start Py2K +# def test_duck_3(self): +# class duck3(object): +# def iterkeys(duck): +# return iter(['a', 'b', 'c']) +# +# def __getitem__(duck, key): +# return dict(a=1, b=2, c=3).get(key) +# self._ok(duck3()) +# end Py2K def test_duck_4(self): class duck4(object): @@ -1029,9 +1030,9 @@ class DictlikeIteritemsTest(fixtures.TestBase): class DuckTypeCollectionTest(fixtures.TestBase): def test_sets(self): - # Py2K - import sets - # end Py2K +# start Py2K +# import sets +# end Py2K class SetLike(object): def add(self): @@ -1041,9 +1042,9 @@ class DuckTypeCollectionTest(fixtures.TestBase): __emulates__ = set for type_ in (set, - # Py2K - sets.Set, - # end Py2K +# start Py2K +# sets.Set, +# end Py2K SetLike, ForcedSet): eq_(util.duck_type_collection(type_), set) @@ -1051,9 +1052,9 @@ class DuckTypeCollectionTest(fixtures.TestBase): eq_(util.duck_type_collection(instance), set) for type_ in (frozenset, - # Py2K - sets.ImmutableSet - # end Py2K +# start Py2K +# sets.ImmutableSet +# end Py2K ): is_(util.duck_type_collection(type_), None) instance = type_() @@ -1175,7 +1176,7 @@ class SymbolTest(fixtures.TestBase): sym3 = util.pickle.loads(s) for protocol in 0, 1, 2: - print protocol + print(protocol) serial = util.pickle.dumps(sym1) rt = util.pickle.loads(serial) assert rt is sym1 @@ -1550,21 +1551,21 @@ class TestClassHierarchy(fixtures.TestBase): eq_(set(util.class_hierarchy(A)), set((A, B, C, object))) eq_(set(util.class_hierarchy(B)), set((A, B, C, object))) - # Py2K - def test_oldstyle_mixin(self): - class A(object): - pass - - class Mixin: - pass - - class B(A, Mixin): - pass - - eq_(set(util.class_hierarchy(B)), set((A, B, object))) - eq_(set(util.class_hierarchy(Mixin)), set()) - eq_(set(util.class_hierarchy(A)), set((A, B, object))) - # end Py2K +# start Py2K +# def test_oldstyle_mixin(self): +# class A(object): +# pass +# +# class Mixin: +# pass +# +# class B(A, Mixin): +# pass +# +# eq_(set(util.class_hierarchy(B)), set((A, B, object))) +# eq_(set(util.class_hierarchy(Mixin)), set()) +# eq_(set(util.class_hierarchy(A)), set((A, B, object))) +# end Py2K class TestClassProperty(fixtures.TestBase): diff --git a/test/dialect/test_firebird.py b/test/dialect/test_firebird.py index 5a80a3776..6019dc8f9 100644 --- a/test/dialect/test_firebird.py +++ b/test/dialect/test_firebird.py @@ -28,7 +28,7 @@ class DomainReflectionTest(fixtures.TestBase, AssertsExecutionResults): ) con.execute('CREATE DOMAIN img_domain AS BLOB SUB_TYPE ' 'BINARY') - except ProgrammingError, e: + except ProgrammingError as e: if not 'attempt to store duplicate value' in str(e): raise e con.execute('''CREATE GENERATOR gen_testtable_id''') diff --git a/test/dialect/test_mssql.py b/test/dialect/test_mssql.py index f1cd3fe85..cca06f1cc 100644 --- a/test/dialect/test_mssql.py +++ b/test/dialect/test_mssql.py @@ -403,7 +403,7 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): self.assert_compile( s, "SELECT TOP 10 t.x, t.y FROM t WHERE t.x = :x_1 ORDER BY t.y", - checkparams={u'x_1': 5} + checkparams={'x_1': 5} ) def test_limit_zero_using_top(self): @@ -414,7 +414,7 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): self.assert_compile( s, "SELECT TOP 0 t.x, t.y FROM t WHERE t.x = :x_1 ORDER BY t.y", - checkparams={u'x_1': 5} + checkparams={'x_1': 5} ) def test_offset_using_window(self): @@ -424,14 +424,14 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): # test that the select is not altered with subsequent compile # calls - for i in xrange(2): + for i in range(2): self.assert_compile( s, "SELECT anon_1.x, anon_1.y FROM (SELECT t.x AS x, t.y " "AS y, ROW_NUMBER() OVER (ORDER BY t.y) AS " "mssql_rn FROM t WHERE t.x = :x_1) AS " "anon_1 WHERE mssql_rn > :mssql_rn_1", - checkparams={u'mssql_rn_1': 20, u'x_1': 5} + checkparams={'mssql_rn_1': 20, 'x_1': 5} ) def test_limit_offset_using_window(self): @@ -447,7 +447,7 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): "FROM t " "WHERE t.x = :x_1) AS anon_1 " "WHERE mssql_rn > :mssql_rn_1 AND mssql_rn <= :mssql_rn_2", - checkparams={u'mssql_rn_1': 20, u'mssql_rn_2': 30, u'x_1': 5} + checkparams={'mssql_rn_1': 20, 'mssql_rn_2': 30, 'x_1': 5} ) def test_limit_offset_with_correlated_order_by(self): @@ -468,7 +468,7 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): "FROM t1 " "WHERE t1.x = :x_1) AS anon_1 " "WHERE mssql_rn > :mssql_rn_1 AND mssql_rn <= :mssql_rn_2", - checkparams={u'mssql_rn_1': 20, u'mssql_rn_2': 30, u'x_1': 5} + checkparams={'mssql_rn_1': 20, 'mssql_rn_2': 30, 'x_1': 5} ) def test_limit_zero_offset_using_window(self): @@ -482,7 +482,7 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): s, "SELECT TOP 0 t.x, t.y FROM t " "WHERE t.x = :x_1 ORDER BY t.y", - checkparams={u'x_1': 5} + checkparams={'x_1': 5} ) def test_sequence_start_0(self): @@ -851,11 +851,11 @@ class QueryUnicodeTest(fixtures.TestBase): # encode in UTF-8 (sting object) because this is the default # dialect encoding - con.execute(u"insert into unitest_table values ('bien u\ + con.execute("insert into unitest_table values ('bien u\ umang\xc3\xa9')".encode('UTF-8')) try: r = t1.select().execute().first() - assert isinstance(r[1], unicode), \ + assert isinstance(r[1], str), \ '%s is %s instead of unicode, working on %s' % (r[1], type(r[1]), meta.bind) finally: @@ -1707,7 +1707,7 @@ class TypeRoundTripTest(fixtures.TestBase, AssertsExecutionResults, ComparesTabl )] for value in test_items: float_table.insert().execute(floatcol=value) - except Exception, e: + except Exception as e: raise e @@ -1953,8 +1953,8 @@ class MonkeyPatchedBinaryTest(fixtures.TestBase): def test_unicode(self): module = __import__('pymssql') - result = module.Binary(u'foo') - eq_(result, u'foo') + result = module.Binary('foo') + eq_(result, 'foo') def test_bytes(self): module = __import__('pymssql') @@ -2073,7 +2073,7 @@ class InfoCoerceUnicodeTest(fixtures.TestBase): dialect = mssql.dialect() value = CoerceUnicode().bind_processor(dialect)('a string') - assert isinstance(value, unicode) + assert isinstance(value, str) class ReflectHugeViewTest(fixtures.TestBase): __only_on__ = 'mssql' @@ -2085,13 +2085,13 @@ class ReflectHugeViewTest(fixtures.TestBase): t = Table('base_table', self.metadata, *[ Column("long_named_column_number_%d" % i, Integer) - for i in xrange(self.col_num) + for i in range(self.col_num) ] ) self.view_str = view_str = \ "CREATE VIEW huge_named_view AS SELECT %s FROM base_table" % ( ",".join("long_named_column_number_%d" % i - for i in xrange(self.col_num)) + for i in range(self.col_num)) ) assert len(view_str) > 4000 diff --git a/test/dialect/test_mysql.py b/test/dialect/test_mysql.py index f89b0b229..df4eab86a 100644 --- a/test/dialect/test_mysql.py +++ b/test/dialect/test_mysql.py @@ -372,9 +372,9 @@ class TypesTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiledSQL): try: self.assert_(list(row) == expected) except: - print "Storing %s" % store - print "Expected %s" % expected - print "Found %s" % list(row) + print("Storing %s" % store) + print("Expected %s" % expected) + print("Found %s" % list(row)) raise table.delete().execute().close() @@ -684,17 +684,17 @@ class EnumTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiledSQL): metadata = MetaData(unicode_engine) t1 = Table('table', metadata, Column('id', Integer, primary_key=True), - Column('value', Enum(u'réveillé', u'drôle', u'S’il')), - Column('value2', mysql.ENUM(u'réveillé', u'drôle', u'S’il')) + Column('value', Enum('réveillé', 'drôle', 'S’il')), + Column('value2', mysql.ENUM('réveillé', 'drôle', 'S’il')) ) metadata.create_all() try: - t1.insert().execute(value=u'drôle', value2=u'drôle') - t1.insert().execute(value=u'réveillé', value2=u'réveillé') - t1.insert().execute(value=u'S’il', value2=u'S’il') + t1.insert().execute(value='drôle', value2='drôle') + t1.insert().execute(value='réveillé', value2='réveillé') + t1.insert().execute(value='S’il', value2='S’il') eq_(t1.select().order_by(t1.c.id).execute().fetchall(), - [(1, u'drôle', u'drôle'), (2, u'réveillé', u'réveillé'), - (3, u'S’il', u'S’il')] + [(1, 'drôle', 'drôle'), (2, 'réveillé', 'réveillé'), + (3, 'S’il', 'S’il')] ) # test reflection of the enum labels @@ -706,10 +706,10 @@ class EnumTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiledSQL): # latin-1 stuff forcing its way in ? assert t2.c.value.type.enums[0:2] == \ - (u'réveillé', u'drôle') # u'S’il') # eh ? + ('réveillé', 'drôle') # u'S’il') # eh ? assert t2.c.value2.type.enums[0:2] == \ - (u'réveillé', u'drôle') # u'S’il') # eh ? + ('réveillé', 'drôle') # u'S’il') # eh ? finally: metadata.drop_all() @@ -877,13 +877,13 @@ class ReflectionTest(fixtures.TestBase, AssertsExecutionResults): reflected = Table('mysql_case', MetaData(testing.db), autoload=True, include_columns=['c1', 'C2']) for t in case_table, reflected: - assert 'c1' in t.c.keys() - assert 'C2' in t.c.keys() + assert 'c1' in list(t.c.keys()) + assert 'C2' in list(t.c.keys()) reflected2 = Table('mysql_case', MetaData(testing.db), autoload=True, include_columns=['c1', 'c2']) - assert 'c1' in reflected2.c.keys() + assert 'c1' in list(reflected2.c.keys()) for c in ['c2', 'C2', 'C3']: - assert c not in reflected2.c.keys() + assert c not in list(reflected2.c.keys()) finally: case_table.drop() @@ -1370,7 +1370,7 @@ class SQLModeDetectionTest(fixtures.TestBase): def _options(self, modes): def connect(con, record): cursor = con.cursor() - print "DOING THiS:", "set sql_mode='%s'" % (",".join(modes)) + print("DOING THiS:", "set sql_mode='%s'" % (",".join(modes))) cursor.execute("set sql_mode='%s'" % (",".join(modes))) e = engines.testing_engine(options={ 'pool_events':[ diff --git a/test/dialect/test_oracle.py b/test/dialect/test_oracle.py index 861b28c5f..fd86d4ff9 100644 --- a/test/dialect/test_oracle.py +++ b/test/dialect/test_oracle.py @@ -1,5 +1,5 @@ # coding: utf-8 -from __future__ import with_statement + from sqlalchemy.testing import eq_ from sqlalchemy import * @@ -807,7 +807,7 @@ class TwoPhaseTest(fixtures.TablesTest): ) def test_twophase_prepare_false(self): conn = self._connection() - for i in xrange(2): + for i in range(2): trans = conn.begin_twophase() conn.execute("select 1 from dual") trans.prepare() @@ -817,7 +817,7 @@ class TwoPhaseTest(fixtures.TablesTest): def test_twophase_prepare_true(self): conn = self._connection() - for i in xrange(2): + for i in range(2): trans = conn.begin_twophase() conn.execute("insert into datatable (id, data) " "values (%s, 'somedata')" % i) @@ -870,7 +870,7 @@ class DialectTypesTest(fixtures.TestBase, AssertsCompiledSQL): b = bindparam("foo", "hello world!") assert b.type.dialect_impl(dialect).get_dbapi_type(dbapi) == 'STRING' - b = bindparam("foo", u"hello world!") + b = bindparam("foo", "hello world!") assert b.type.dialect_impl(dialect).get_dbapi_type(dbapi) == 'STRING' def test_long(self): @@ -1257,7 +1257,7 @@ class TypesTest(fixtures.TestBase): autoload=True, oracle_resolve_synonyms=True ) for row in types_table.select().execute().fetchall(): - [row[k] for k in row.keys()] + [row[k] for k in list(row.keys())] @testing.provide_metadata def test_raw_roundtrip(self): @@ -1291,11 +1291,11 @@ class TypesTest(fixtures.TestBase): t2.c.data.type.dialect_impl(testing.db.dialect), cx_oracle._OracleNVarChar) - data = u'm’a réveillé.' + data = 'm’a réveillé.' t2.insert().execute(data=data) res = t2.select().execute().first()['data'] eq_(res, data) - assert isinstance(res, unicode) + assert isinstance(res, str) def test_char_length(self): @@ -1426,7 +1426,7 @@ class DontReflectIOTTest(fixtures.TestBase): m = MetaData(testing.db) m.reflect() eq_( - set(t.name for t in m.tables.values()), + set(t.name for t in list(m.tables.values())), set(['admin_docindex']) ) @@ -1641,28 +1641,28 @@ class UnicodeSchemaTest(fixtures.TestBase): metadata.create_all() table.insert().execute( - {'_underscorecolumn': u'’é'}, + {'_underscorecolumn': '’é'}, ) result = testing.db.execute( - table.select().where(table.c._underscorecolumn==u'’é') + table.select().where(table.c._underscorecolumn=='’é') ).scalar() - eq_(result, u'’é') + eq_(result, '’é') @testing.provide_metadata def test_quoted_column_unicode(self): metadata = self.metadata table=Table("atable", metadata, - Column(u"méil", Unicode(255), primary_key=True), + Column("méil", Unicode(255), primary_key=True), ) metadata.create_all() table.insert().execute( - {u'méil': u'’é'}, + {'méil': '’é'}, ) result = testing.db.execute( - table.select().where(table.c[u'méil']==u'’é') + table.select().where(table.c['méil']=='’é') ).scalar() - eq_(result, u'’é') + eq_(result, '’é') class DBLinkReflectionTest(fixtures.TestBase): @@ -1702,5 +1702,5 @@ class DBLinkReflectionTest(fixtures.TestBase): t = Table('test_table_syn', m, autoload=True, autoload_with=testing.db, oracle_resolve_synonyms=True) - eq_(t.c.keys(), ['id', 'data']) + eq_(list(t.c.keys()), ['id', 'data']) eq_(list(t.primary_key), [t.c.id]) diff --git a/test/dialect/test_postgresql.py b/test/dialect/test_postgresql.py index e217eb0b8..43ac7d7ae 100644 --- a/test/dialect/test_postgresql.py +++ b/test/dialect/test_postgresql.py @@ -1,6 +1,6 @@ # coding: utf-8 -from __future__ import with_statement + from sqlalchemy.testing.assertions import eq_, assert_raises, \ assert_raises_message, is_, AssertsExecutionResults, \ @@ -559,21 +559,21 @@ class EnumTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiledSQL): t1 = Table('table', metadata, Column('id', Integer, primary_key=True), Column('value', - Enum(u'réveillé', u'drôle', u'S’il', + Enum('réveillé', 'drôle', 'S’il', name='onetwothreetype')) ) metadata.create_all() try: - t1.insert().execute(value=u'drôle') - t1.insert().execute(value=u'réveillé') - t1.insert().execute(value=u'S’il') + t1.insert().execute(value='drôle') + t1.insert().execute(value='réveillé') + t1.insert().execute(value='S’il') eq_(t1.select().order_by(t1.c.id).execute().fetchall(), - [(1, u'drôle'), (2, u'réveillé'), (3, u'S’il')] + [(1, 'drôle'), (2, 'réveillé'), (3, 'S’il')] ) m2 = MetaData(testing.db) t2 = Table('table', m2, autoload=True) - assert t2.c.value.type.enums == (u'réveillé', u'drôle', u'S’il') + assert t2.c.value.type.enums == ('réveillé', 'drôle', 'S’il') finally: metadata.drop_all() @@ -1238,7 +1238,7 @@ class DomainReflectionTest(fixtures.TestBase, AssertsExecutionResults): : try: con.execute(ddl) - except exc.DBAPIError, e: + except exc.DBAPIError as e: if not 'already exists' in str(e): raise e con.execute('CREATE TABLE testtable (question integer, answer ' @@ -1476,7 +1476,7 @@ class ReflectionTest(fixtures.TestBase): meta1.create_all() meta2 = MetaData(testing.db) subject = Table('subject', meta2, autoload=True) - eq_(subject.primary_key.columns.keys(), [u'p2', u'p1']) + eq_(list(subject.primary_key.columns.keys()), ['p2', 'p1']) @testing.provide_metadata def test_pg_weirdchar_reflection(self): @@ -1749,7 +1749,7 @@ class ReflectionTest(fixtures.TestBase): conn.execute("ALTER TABLE t RENAME COLUMN x to y") ind = testing.db.dialect.get_indexes(conn, "t", None) - eq_(ind, [{'unique': False, 'column_names': [u'y'], 'name': u'idx1'}]) + eq_(ind, [{'unique': False, 'column_names': ['y'], 'name': 'idx1'}]) conn.close() class CustomTypeReflectionTest(fixtures.TestBase): @@ -2174,8 +2174,8 @@ class ArrayTest(fixtures.TablesTest, AssertsExecutionResults): def test_insert_array(self): arrtable = self.tables.arrtable - arrtable.insert().execute(intarr=[1, 2, 3], strarr=[u'abc', - u'def']) + arrtable.insert().execute(intarr=[1, 2, 3], strarr=['abc', + 'def']) results = arrtable.select().execute().fetchall() eq_(len(results), 1) eq_(results[0]['intarr'], [1, 2, 3]) @@ -2183,9 +2183,9 @@ class ArrayTest(fixtures.TablesTest, AssertsExecutionResults): def test_array_where(self): arrtable = self.tables.arrtable - arrtable.insert().execute(intarr=[1, 2, 3], strarr=[u'abc', - u'def']) - arrtable.insert().execute(intarr=[4, 5, 6], strarr=u'ABC') + arrtable.insert().execute(intarr=[1, 2, 3], strarr=['abc', + 'def']) + arrtable.insert().execute(intarr=[4, 5, 6], strarr='ABC') results = arrtable.select().where(arrtable.c.intarr == [1, 2, 3]).execute().fetchall() eq_(len(results), 1) @@ -2194,7 +2194,7 @@ class ArrayTest(fixtures.TablesTest, AssertsExecutionResults): def test_array_concat(self): arrtable = self.tables.arrtable arrtable.insert().execute(intarr=[1, 2, 3], - strarr=[u'abc', u'def']) + strarr=['abc', 'def']) results = select([arrtable.c.intarr + [4, 5, 6]]).execute().fetchall() eq_(len(results), 1) @@ -2203,15 +2203,15 @@ class ArrayTest(fixtures.TablesTest, AssertsExecutionResults): def test_array_subtype_resultprocessor(self): arrtable = self.tables.arrtable arrtable.insert().execute(intarr=[4, 5, 6], - strarr=[[u'm\xe4\xe4'], [u'm\xf6\xf6' + strarr=[['m\xe4\xe4'], ['m\xf6\xf6' ]]) - arrtable.insert().execute(intarr=[1, 2, 3], strarr=[u'm\xe4\xe4' - , u'm\xf6\xf6']) + arrtable.insert().execute(intarr=[1, 2, 3], strarr=['m\xe4\xe4' + , 'm\xf6\xf6']) results = \ arrtable.select(order_by=[arrtable.c.intarr]).execute().fetchall() eq_(len(results), 2) - eq_(results[0]['strarr'], [u'm\xe4\xe4', u'm\xf6\xf6']) - eq_(results[1]['strarr'], [[u'm\xe4\xe4'], [u'm\xf6\xf6']]) + eq_(results[0]['strarr'], ['m\xe4\xe4', 'm\xf6\xf6']) + eq_(results[1]['strarr'], [['m\xe4\xe4'], ['m\xf6\xf6']]) def test_array_literal(self): eq_( @@ -2263,7 +2263,7 @@ class ArrayTest(fixtures.TablesTest, AssertsExecutionResults): testing.db.execute( arrtable.insert(), intarr=[4, 5, 6], - strarr=[u'abc', u'def'] + strarr=['abc', 'def'] ) eq_( testing.db.scalar(select([arrtable.c.intarr[2:3]])), diff --git a/test/dialect/test_sqlite.py b/test/dialect/test_sqlite.py index 97962a54a..440fe1f43 100644 --- a/test/dialect/test_sqlite.py +++ b/test/dialect/test_sqlite.py @@ -84,7 +84,7 @@ class TestTypes(fixtures.TestBase, AssertsExecutionResults): eq_(row, (1, datetime.date(2010, 5, 10), datetime.datetime( 2010, 5, 10, 12, 15, 25, ))) r = engine.execute(func.current_date()).scalar() - assert isinstance(r, basestring) + assert isinstance(r, str) finally: t.drop(engine) engine.dispose() @@ -104,8 +104,8 @@ class TestTypes(fixtures.TestBase, AssertsExecutionResults): UnicodeText(), ): bindproc = t.dialect_impl(dialect).bind_processor(dialect) - assert not bindproc or isinstance(bindproc(u'some string'), - unicode) + assert not bindproc or isinstance(bindproc('some string'), + str) @testing.provide_metadata def test_type_reflection(self): @@ -566,7 +566,7 @@ class DialectTest(fixtures.TestBase, AssertsExecutionResults): eq_(inspector.get_indexes('foo'), []) eq_(inspector.get_indexes('foo', include_auto_indexes=True), [{'unique': 1, 'name' - : u'sqlite_autoindex_foo_1', 'column_names': [u'bar']}]) + : 'sqlite_autoindex_foo_1', 'column_names': ['bar']}]) finally: meta.drop_all() @@ -602,7 +602,7 @@ class SQLTest(fixtures.TestBase, AssertsCompiledSQL): 'dow': '%w', 'week': '%W', } - for field, subst in mapping.items(): + for field, subst in list(mapping.items()): self.assert_compile(select([extract(field, t.c.col1)]), "SELECT CAST(STRFTIME('%s', t.col1) AS " "INTEGER) AS anon_1 FROM t" % subst) diff --git a/test/dialect/test_sybase.py b/test/dialect/test_sybase.py index 025d49aae..1318a282b 100644 --- a/test/dialect/test_sybase.py +++ b/test/dialect/test_sybase.py @@ -19,7 +19,7 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): 'year': 'year', } - for field, subst in mapping.items(): + for field, subst in list(mapping.items()): self.assert_compile( select([extract(field, t.c.col1)]), 'SELECT DATEPART("%s", t.col1) AS anon_1 FROM t' % subst) diff --git a/test/engine/test_bind.py b/test/engine/test_bind.py index f76350fcc..973cf4d84 100644 --- a/test/engine/test_bind.py +++ b/test/engine/test_bind.py @@ -1,6 +1,6 @@ """tests the "bind" attribute/argument across schema and SQL, including the deprecated versions of these arguments""" -from __future__ import with_statement + from sqlalchemy.testing import eq_, assert_raises from sqlalchemy import engine, exc from sqlalchemy import MetaData, ThreadLocalMetaData @@ -61,7 +61,7 @@ class BindTest(fixtures.TestBase): try: meth() assert False - except exc.UnboundExecutionError, e: + except exc.UnboundExecutionError as e: eq_(str(e), "The MetaData is not bound to an Engine or " "Connection. Execution can not proceed without a " @@ -82,7 +82,7 @@ class BindTest(fixtures.TestBase): try: meth() assert False - except exc.UnboundExecutionError, e: + except exc.UnboundExecutionError as e: eq_( str(e), "The Table 'test_table' " diff --git a/test/engine/test_ddlemit.py b/test/engine/test_ddlemit.py index 3dbd5756a..deaf09cf7 100644 --- a/test/engine/test_ddlemit.py +++ b/test/engine/test_ddlemit.py @@ -47,7 +47,7 @@ class EmitDDLTest(fixtures.TestBase): return (m, ) + tuple( Table('t%d' % i, m, Column('x', Integer)) - for i in xrange(1, 6) + for i in range(1, 6) ) def _table_seq_fixture(self): diff --git a/test/engine/test_ddlevents.py b/test/engine/test_ddlevents.py index 71379ec7e..6cc652baf 100644 --- a/test/engine/test_ddlevents.py +++ b/test/engine/test_ddlevents.py @@ -1,4 +1,4 @@ -from __future__ import with_statement + from sqlalchemy.testing import assert_raises, assert_raises_message from sqlalchemy.schema import DDL, CheckConstraint, AddConstraint, \ DropConstraint diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py index 203d7bd71..e737accdb 100644 --- a/test/engine/test_execute.py +++ b/test/engine/test_execute.py @@ -1,4 +1,4 @@ -from __future__ import with_statement + from sqlalchemy.testing import eq_, assert_raises, assert_raises_message, \ config, is_ @@ -18,7 +18,7 @@ from sqlalchemy.dialects.oracle.zxjdbc import ReturningParam from sqlalchemy.engine import result as _result, default from sqlalchemy.engine.base import Connection, Engine from sqlalchemy.testing import fixtures -import StringIO +import io users, metadata, users_autoinc = None, None, None class ExecuteTest(fixtures.TestBase): @@ -256,7 +256,7 @@ class ExecuteTest(fixtures.TestBase): try: cursor = raw.cursor() cursor.execute("SELECTINCORRECT") - except testing.db.dialect.dbapi.DatabaseError, orig: + except testing.db.dialect.dbapi.DatabaseError as orig: # py3k has "orig" in local scope... the_orig = orig finally: @@ -622,7 +622,7 @@ class LogParamsTest(fixtures.TestBase): def test_log_large_dict(self): self.eng.execute( "INSERT INTO foo (data) values (:data)", - [{"data":str(i)} for i in xrange(100)] + [{"data":str(i)} for i in range(100)] ) eq_( self.buf.buffer[1].message, @@ -635,7 +635,7 @@ class LogParamsTest(fixtures.TestBase): def test_log_large_list(self): self.eng.execute( "INSERT INTO foo (data) values (?)", - [(str(i), ) for i in xrange(100)] + [(str(i), ) for i in range(100)] ) eq_( self.buf.buffer[1].message, @@ -654,7 +654,7 @@ class LogParamsTest(fixtures.TestBase): "100 total bound parameter sets ... {'data': '98'}, {'data': '99'}\]", lambda: self.eng.execute( "INSERT INTO nonexistent (data) values (:data)", - [{"data":str(i)} for i in xrange(100)] + [{"data":str(i)} for i in range(100)] ) ) @@ -668,7 +668,7 @@ class LogParamsTest(fixtures.TestBase): "\('98',\), \('99',\)\]", lambda: self.eng.execute( "INSERT INTO nonexistent (data) values (?)", - [(str(i), ) for i in xrange(100)] + [(str(i), ) for i in range(100)] ) ) @@ -834,9 +834,9 @@ class EchoTest(fixtures.TestBase): class MockStrategyTest(fixtures.TestBase): def _engine_fixture(self): - buf = StringIO.StringIO() + buf = io.StringIO() def dump(sql, *multiparams, **params): - buf.write(unicode(sql.compile(dialect=engine.dialect))) + buf.write(str(sql.compile(dialect=engine.dialect))) engine = create_engine('postgresql://', strategy='mock', executor=dump) return engine, buf @@ -939,7 +939,7 @@ class ResultProxyTest(fixtures.TestBase): def test_row_c_sequence_check(self): import csv import collections - from StringIO import StringIO + from io import StringIO metadata = MetaData() metadata.bind = 'sqlite://' @@ -1026,7 +1026,7 @@ class AlternateResultProxyTest(fixtures.TestBase): ) m.create_all(engine) engine.execute(t.insert(), [ - {'x':i, 'y':"t_%d" % i} for i in xrange(1, 12) + {'x':i, 'y':"t_%d" % i} for i in range(1, 12) ]) def _test_proxy(self, cls): @@ -1039,13 +1039,13 @@ class AlternateResultProxyTest(fixtures.TestBase): assert isinstance(r, cls) for i in range(5): rows.append(r.fetchone()) - eq_(rows, [(i, "t_%d" % i) for i in xrange(1, 6)]) + eq_(rows, [(i, "t_%d" % i) for i in range(1, 6)]) rows = r.fetchmany(3) - eq_(rows, [(i, "t_%d" % i) for i in xrange(6, 9)]) + eq_(rows, [(i, "t_%d" % i) for i in range(6, 9)]) rows = r.fetchall() - eq_(rows, [(i, "t_%d" % i) for i in xrange(9, 12)]) + eq_(rows, [(i, "t_%d" % i) for i in range(9, 12)]) r = self.engine.execute(select([self.table])) rows = r.fetchmany(None) @@ -1059,7 +1059,7 @@ class AlternateResultProxyTest(fixtures.TestBase): r = self.engine.execute(select([self.table]).limit(5)) rows = r.fetchmany(6) - eq_(rows, [(i, "t_%d" % i) for i in xrange(1, 6)]) + eq_(rows, [(i, "t_%d" % i) for i in range(1, 6)]) def test_plain(self): self._test_proxy(_result.ResultProxy) @@ -1184,7 +1184,7 @@ class EngineEventsTest(fixtures.TestBase): try: conn.execute("SELECT FOO FROM I_DONT_EXIST") assert False - except tsa.exc.DBAPIError, e: + except tsa.exc.DBAPIError as e: assert canary[0][2] is e.orig assert canary[0][0] == "SELECT FOO FROM I_DONT_EXIST" diff --git a/test/engine/test_parseconnect.py b/test/engine/test_parseconnect.py index a00a942cb..3d99fd509 100644 --- a/test/engine/test_parseconnect.py +++ b/test/engine/test_parseconnect.py @@ -1,6 +1,6 @@ from sqlalchemy.testing import assert_raises, assert_raises_message, eq_ -import ConfigParser -import StringIO +import configparser +import io import sqlalchemy.engine.url as url from sqlalchemy import create_engine, engine_from_config, exc, pool from sqlalchemy.engine.util import _coerce_config @@ -103,8 +103,8 @@ pool_size=2 pool_threadlocal=1 pool_timeout=10 """ - ini = ConfigParser.ConfigParser() - ini.readfp(StringIO.StringIO(raw)) + ini = configparser.ConfigParser() + ini.readfp(io.StringIO(raw)) expected = { 'url': 'postgresql://scott:tiger@somehost/test?fooz=somevalue', @@ -234,7 +234,7 @@ pool_timeout=10 : True}, convert_unicode=True) try: e.connect() - except tsa.exc.DBAPIError, de: + except tsa.exc.DBAPIError as de: assert not de.connection_invalidated def test_ensure_dialect_does_is_disconnect_no_conn(self): @@ -266,7 +266,7 @@ pool_timeout=10 try: create_engine('sqlite://', module=ThrowOnConnect()).connect() assert False - except tsa.exc.DBAPIError, de: + except tsa.exc.DBAPIError as de: assert de.connection_invalidated def test_urlattr(self): diff --git a/test/engine/test_pool.py b/test/engine/test_pool.py index c01d14c4f..1d31c16b5 100644 --- a/test/engine/test_pool.py +++ b/test/engine/test_pool.py @@ -525,23 +525,23 @@ class DeprecatedPoolListenerTest(PoolTestBase): self.assert_((item in innerself.checked_out) == in_cout) self.assert_((item in innerself.checked_in) == in_cin) def inst_connect(self, con, record): - print "connect(%s, %s)" % (con, record) + print("connect(%s, %s)" % (con, record)) assert con is not None assert record is not None self.connected.append(con) def inst_first_connect(self, con, record): - print "first_connect(%s, %s)" % (con, record) + print("first_connect(%s, %s)" % (con, record)) assert con is not None assert record is not None self.first_connected.append(con) def inst_checkout(self, con, record, proxy): - print "checkout(%s, %s, %s)" % (con, record, proxy) + print("checkout(%s, %s, %s)" % (con, record, proxy)) assert con is not None assert record is not None assert proxy is not None self.checked_out.append(con) def inst_checkin(self, con, record): - print "checkin(%s, %s)" % (con, record) + print("checkin(%s, %s)" % (con, record)) # con can be None if invalidated assert record is not None self.checked_in.append(con) @@ -738,8 +738,8 @@ class QueuePoolTest(PoolTestBase): def status(pool): tup = pool.size(), pool.checkedin(), pool.overflow(), \ pool.checkedout() - print 'Pool size: %d Connections in pool: %d Current '\ - 'Overflow: %d Current Checked out connections: %d' % tup + print('Pool size: %d Connections in pool: %d Current '\ + 'Overflow: %d Current Checked out connections: %d' % tup) return tup c1 = p.connect() @@ -794,7 +794,7 @@ class QueuePoolTest(PoolTestBase): try: c4 = p.connect() assert False - except tsa.exc.TimeoutError, e: + except tsa.exc.TimeoutError as e: assert int(time.time() - now) == 2 def test_timeout_race(self): @@ -812,18 +812,18 @@ class QueuePoolTest(PoolTestBase): max_overflow = 1, use_threadlocal = False, timeout=3) timeouts = [] def checkout(): - for x in xrange(1): + for x in range(1): now = time.time() try: c1 = p.connect() - except tsa.exc.TimeoutError, e: + except tsa.exc.TimeoutError as e: timeouts.append(time.time() - now) continue time.sleep(4) c1.close() threads = [] - for i in xrange(10): + for i in range(10): th = threading.Thread(target=checkout) th.start() threads.append(th) @@ -860,7 +860,7 @@ class QueuePoolTest(PoolTestBase): except tsa.exc.TimeoutError: pass threads = [] - for i in xrange(thread_count): + for i in range(thread_count): th = threading.Thread(target=whammy) th.start() threads.append(th) @@ -1007,8 +1007,8 @@ class QueuePoolTest(PoolTestBase): strong_refs.add(c.connection) return c - for j in xrange(5): - conns = [_conn() for i in xrange(4)] + for j in range(5): + conns = [_conn() for i in range(4)] for c in conns: c.close() @@ -1152,7 +1152,7 @@ class SingletonThreadPoolTest(PoolTestBase): return p.connect() def checkout(): - for x in xrange(10): + for x in range(10): c = _conn() assert c c.cursor() @@ -1160,7 +1160,7 @@ class SingletonThreadPoolTest(PoolTestBase): time.sleep(.1) threads = [] - for i in xrange(10): + for i in range(10): th = threading.Thread(target=checkout) th.start() threads.append(th) diff --git a/test/engine/test_processors.py b/test/engine/test_processors.py index bc9af7305..b1c482f09 100644 --- a/test/engine/test_processors.py +++ b/test/engine/test_processors.py @@ -53,7 +53,7 @@ class PyDateProcessorTest(_DateProcessorTest): cls.module = type("util", (object,), dict( (k, staticmethod(v)) - for k, v in processors.py_fallback().items() + for k, v in list(processors.py_fallback().items()) ) ) @@ -156,7 +156,7 @@ class PyDistillArgsTest(_DistillArgsTest): cls.module = type("util", (object,), dict( (k, staticmethod(v)) - for k, v in util.py_fallback().items() + for k, v in list(util.py_fallback().items()) ) ) diff --git a/test/engine/test_reconnect.py b/test/engine/test_reconnect.py index 9aecb81a9..d75ef3b75 100644 --- a/test/engine/test_reconnect.py +++ b/test/engine/test_reconnect.py @@ -173,7 +173,7 @@ class MockReconnectTest(fixtures.TestBase): try: trans.commit() assert False - except tsa.exc.InvalidRequestError, e: + except tsa.exc.InvalidRequestError as e: assert str(e) \ == "Can't reconnect until invalid transaction is "\ "rolled back" @@ -370,7 +370,7 @@ class RealReconnectTest(fixtures.TestBase): try: conn.execute(select([1])) assert False - except tsa.exc.DBAPIError, e: + except tsa.exc.DBAPIError as e: if not e.connection_invalidated: raise @@ -386,7 +386,7 @@ class RealReconnectTest(fixtures.TestBase): try: conn.execute(select([1])) assert False - except tsa.exc.DBAPIError, e: + except tsa.exc.DBAPIError as e: if not e.connection_invalidated: raise assert conn.invalidated @@ -407,7 +407,7 @@ class RealReconnectTest(fixtures.TestBase): try: c1.execute(select([1])) assert False - except tsa.exc.DBAPIError, e: + except tsa.exc.DBAPIError as e: assert e.connection_invalidated p2 = engine.pool @@ -415,7 +415,7 @@ class RealReconnectTest(fixtures.TestBase): try: c2.execute(select([1])) assert False - except tsa.exc.DBAPIError, e: + except tsa.exc.DBAPIError as e: assert e.connection_invalidated # pool isn't replaced @@ -503,7 +503,7 @@ class RealReconnectTest(fixtures.TestBase): try: conn.execute(select([1])) assert False - except tsa.exc.DBAPIError, e: + except tsa.exc.DBAPIError as e: if not e.connection_invalidated: raise assert not conn.closed @@ -523,7 +523,7 @@ class RealReconnectTest(fixtures.TestBase): try: conn.execute(select([1])) assert False - except tsa.exc.DBAPIError, e: + except tsa.exc.DBAPIError as e: if not e.connection_invalidated: raise @@ -542,7 +542,7 @@ class RealReconnectTest(fixtures.TestBase): try: conn.execute(select([1])) assert False - except tsa.exc.DBAPIError, e: + except tsa.exc.DBAPIError as e: if not e.connection_invalidated: raise assert not conn.closed @@ -558,7 +558,7 @@ class RealReconnectTest(fixtures.TestBase): try: trans.commit() assert False - except tsa.exc.InvalidRequestError, e: + except tsa.exc.InvalidRequestError as e: assert str(e) \ == "Can't reconnect until invalid transaction is "\ "rolled back" @@ -634,13 +634,13 @@ class InvalidateDuringResultTest(fixtures.TestBase): def test_invalidate_on_results(self): conn = engine.connect() result = conn.execute('select * from sometable') - for x in xrange(20): + for x in range(20): result.fetchone() engine.test_shutdown() try: - print 'ghost result: %r' % result.fetchone() + print('ghost result: %r' % result.fetchone()) assert False - except tsa.exc.DBAPIError, e: + except tsa.exc.DBAPIError as e: if not e.connection_invalidated: raise assert conn.invalidated diff --git a/test/engine/test_reflection.py b/test/engine/test_reflection.py index 86df92987..c2e3493f3 100644 --- a/test/engine/test_reflection.py +++ b/test/engine/test_reflection.py @@ -811,7 +811,7 @@ class ReflectionTest(fixtures.TestBase, ComparesTables): try: m4.reflect(only=['rt_a', 'rt_f']) self.assert_(False) - except sa.exc.InvalidRequestError, e: + except sa.exc.InvalidRequestError as e: self.assert_(e.args[0].endswith('(rt_f)')) m5 = MetaData(testing.db) @@ -833,7 +833,7 @@ class ReflectionTest(fixtures.TestBase, ComparesTables): ) if existing: - print "Other tables present in database, skipping some checks." + print("Other tables present in database, skipping some checks.") else: baseline.drop_all() m9 = MetaData(testing.db) @@ -1041,19 +1041,19 @@ class UnicodeReflectionTest(fixtures.TestBase): cls.metadata = metadata = MetaData() no_multibyte_period = set([ - (u'plain', u'col_plain', u'ix_plain') + ('plain', 'col_plain', 'ix_plain') ]) no_has_table = [ - (u'no_has_table_1', u'col_Unit\u00e9ble', u'ix_Unit\u00e9ble'), - (u'no_has_table_2', u'col_\u6e2c\u8a66', u'ix_\u6e2c\u8a66'), + ('no_has_table_1', 'col_Unit\u00e9ble', 'ix_Unit\u00e9ble'), + ('no_has_table_2', 'col_\u6e2c\u8a66', 'ix_\u6e2c\u8a66'), ] no_case_sensitivity = [ - (u'\u6e2c\u8a66', u'col_\u6e2c\u8a66', u'ix_\u6e2c\u8a66'), - (u'unit\u00e9ble', u'col_unit\u00e9ble', u'ix_unit\u00e9ble'), + ('\u6e2c\u8a66', 'col_\u6e2c\u8a66', 'ix_\u6e2c\u8a66'), + ('unit\u00e9ble', 'col_unit\u00e9ble', 'ix_unit\u00e9ble'), ] full = [ - (u'Unit\u00e9ble', u'col_Unit\u00e9ble', u'ix_Unit\u00e9ble'), - (u'\u6e2c\u8a66', u'col_\u6e2c\u8a66', u'ix_\u6e2c\u8a66'), + ('Unit\u00e9ble', 'col_Unit\u00e9ble', 'ix_Unit\u00e9ble'), + ('\u6e2c\u8a66', 'col_\u6e2c\u8a66', 'ix_\u6e2c\u8a66'), ] # as you can see, our options for this kind of thing diff --git a/test/engine/test_transaction.py b/test/engine/test_transaction.py index 5558ff778..2d7f39253 100644 --- a/test/engine/test_transaction.py +++ b/test/engine/test_transaction.py @@ -74,8 +74,8 @@ class TransactionTest(fixtures.TestBase): connection.execute(users.insert(), user_id=1, user_name='user3') transaction.commit() assert False - except Exception , e: - print "Exception: ", e + except Exception as e: + print("Exception: ", e) transaction.rollback() result = connection.execute("select * from query_users") @@ -121,10 +121,10 @@ class TransactionTest(fixtures.TestBase): trans2.rollback() raise transaction.rollback() - except Exception, e: + except Exception as e: transaction.rollback() raise - except Exception, e: + except Exception as e: try: assert str(e) == 'uh oh' # and not "This transaction is # inactive" @@ -167,7 +167,7 @@ class TransactionTest(fixtures.TestBase): connection.execute(users.insert(), user_id=2, user_name='user2') try: connection.execute(users.insert(), user_id=2, user_name='user2.5') - except Exception, e: + except Exception as e: trans.__exit__(*sys.exc_info()) assert not trans.is_active @@ -1019,7 +1019,7 @@ class ForUpdateTest(fixtures.TestBase): con = testing.db.connect() sel = counters.select(for_update=update_style, whereclause=counters.c.counter_id == 1) - for i in xrange(count): + for i in range(count): trans = con.begin() try: existing = con.execute(sel).first() @@ -1033,7 +1033,7 @@ class ForUpdateTest(fixtures.TestBase): raise AssertionError('Got %s post-update, expected ' '%s' % (readback['counter_value'], incr)) trans.commit() - except Exception, e: + except Exception as e: trans.rollback() errors.append(e) break @@ -1057,7 +1057,7 @@ class ForUpdateTest(fixtures.TestBase): db.execute(counters.insert(), counter_id=1, counter_value=0) iterations, thread_count = 10, 5 threads, errors = [], [] - for i in xrange(thread_count): + for i in range(thread_count): thrd = threading.Thread(target=self.increment, args=(iterations, ), kwargs={'errors': errors, @@ -1088,7 +1088,7 @@ class ForUpdateTest(fixtures.TestBase): rows = con.execute(sel).fetchall() time.sleep(0.25) trans.commit() - except Exception, e: + except Exception as e: trans.rollback() errors.append(e) con.close() @@ -1105,7 +1105,7 @@ class ForUpdateTest(fixtures.TestBase): db.execute(counters.insert(), counter_id=cid + 1, counter_value=0) errors, threads = [], [] - for i in xrange(thread_count): + for i in range(thread_count): thrd = threading.Thread(target=self.overlap, args=(groups.pop(0), errors, update_style)) diff --git a/test/ext/declarative/test_basic.py b/test/ext/declarative/test_basic.py index 0fe54a154..50d40e8fc 100644 --- a/test/ext/declarative/test_basic.py +++ b/test/ext/declarative/test_basic.py @@ -127,14 +127,13 @@ class DeclarativeTest(DeclarativeTestBase): class BrokenMeta(type): def __getattribute__(self, attr): if attr == 'xyzzy': - raise AttributeError, 'xyzzy' + raise AttributeError('xyzzy') else: return object.__getattribute__(self,attr) # even though this class has an xyzzy attribute, getattr(cls,"xyzzy") # fails - class BrokenParent(object): - __metaclass__ = BrokenMeta + class BrokenParent(object, metaclass=BrokenMeta): xyzzy = "magic" # _as_declarative() inspects obj.__class__.__bases__ @@ -1458,12 +1457,12 @@ def _produce_test(inline, stringbased): @classmethod def insert_data(cls): - params = [dict(zip(('id', 'name'), column_values)) + params = [dict(list(zip(('id', 'name'), column_values))) for column_values in [(7, 'jack'), (8, 'ed'), (9, 'fred'), (10, 'chuck')]] User.__table__.insert().execute(params) - Address.__table__.insert().execute([dict(zip(('id', - 'user_id', 'email'), column_values)) + Address.__table__.insert().execute([dict(list(zip(('id', + 'user_id', 'email'), column_values))) for column_values in [(1, 7, 'jack@bean.com'), (2, 8, 'ed@wood.com'), (3, 8, 'ed@bettyboop.com'), (4, 8, 'ed@lala.com'), (5, 9, 'fred@fred.com')]]) @@ -1492,6 +1491,6 @@ def _produce_test(inline, stringbased): for inline in True, False: for stringbased in True, False: testclass = _produce_test(inline, stringbased) - exec '%s = testclass' % testclass.__name__ + exec('%s = testclass' % testclass.__name__) del testclass diff --git a/test/ext/declarative/test_clsregistry.py b/test/ext/declarative/test_clsregistry.py index 1d09f158e..e78a1abbe 100644 --- a/test/ext/declarative/test_clsregistry.py +++ b/test/ext/declarative/test_clsregistry.py @@ -124,7 +124,7 @@ class ClsRegistryTest(fixtures.TestBase): base = weakref.WeakValueDictionary() - for i in xrange(3): + for i in range(3): f1 = MockClass(base, "foo.bar.Foo") f2 = MockClass(base, "foo.alt.Foo") clsregistry.add_class("Foo", f1) diff --git a/test/ext/declarative/test_inheritance.py b/test/ext/declarative/test_inheritance.py index 1a3a4aba5..01bf3f3f6 100644 --- a/test/ext/declarative/test_inheritance.py +++ b/test/ext/declarative/test_inheritance.py @@ -573,7 +573,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase): primary_language = Column(String(50)) assert Person.__table__.c.golf_swing is not None - assert not Person.__table__.c.has_key('primary_language') + assert 'primary_language' not in Person.__table__.c assert Engineer.__table__.c.primary_language is not None assert Engineer.primary_language is not None assert Manager.golf_swing is not None diff --git a/test/ext/declarative/test_mixin.py b/test/ext/declarative/test_mixin.py index fb674f27a..d8ec484e1 100644 --- a/test/ext/declarative/test_mixin.py +++ b/test/ext/declarative/test_mixin.py @@ -685,7 +685,7 @@ class DeclarativeMixinTest(DeclarativeTestBase): __mapper_args__ = dict(polymorphic_identity='specific') assert Specific.__table__ is Generic.__table__ - eq_(Generic.__table__.c.keys(), ['id', 'type', 'value']) + eq_(list(Generic.__table__.c.keys()), ['id', 'type', 'value']) assert class_mapper(Specific).polymorphic_on \ is Generic.__table__.c.type eq_(class_mapper(Specific).polymorphic_identity, 'specific') @@ -714,9 +714,9 @@ class DeclarativeMixinTest(DeclarativeTestBase): eq_(Generic.__table__.name, 'generic') eq_(Specific.__table__.name, 'specific') - eq_(Generic.__table__.c.keys(), ['timestamp', 'id', + eq_(list(Generic.__table__.c.keys()), ['timestamp', 'id', 'python_type']) - eq_(Specific.__table__.c.keys(), ['id']) + eq_(list(Specific.__table__.c.keys()), ['id']) eq_(Generic.__table__.kwargs, {'mysql_engine': 'InnoDB'}) eq_(Specific.__table__.kwargs, {'mysql_engine': 'InnoDB'}) @@ -749,12 +749,12 @@ class DeclarativeMixinTest(DeclarativeTestBase): primary_key=True) eq_(BaseType.__table__.name, 'basetype') - eq_(BaseType.__table__.c.keys(), ['timestamp', 'type', 'id', + eq_(list(BaseType.__table__.c.keys()), ['timestamp', 'type', 'id', 'value']) eq_(BaseType.__table__.kwargs, {'mysql_engine': 'InnoDB'}) assert Single.__table__ is BaseType.__table__ eq_(Joined.__table__.name, 'joined') - eq_(Joined.__table__.c.keys(), ['id']) + eq_(list(Joined.__table__.c.keys()), ['id']) eq_(Joined.__table__.kwargs, {'mysql_engine': 'InnoDB'}) def test_col_copy_vs_declared_attr_joined_propagation(self): @@ -839,7 +839,7 @@ class DeclarativeMixinTest(DeclarativeTestBase): __mapper_args__ = dict(polymorphic_identity='specific') eq_(BaseType.__table__.name, 'basetype') - eq_(BaseType.__table__.c.keys(), ['type', 'id', 'value']) + eq_(list(BaseType.__table__.c.keys()), ['type', 'id', 'value']) assert Specific.__table__ is BaseType.__table__ assert class_mapper(Specific).polymorphic_on \ is BaseType.__table__.c.type @@ -870,9 +870,9 @@ class DeclarativeMixinTest(DeclarativeTestBase): primary_key=True) eq_(BaseType.__table__.name, 'basetype') - eq_(BaseType.__table__.c.keys(), ['type', 'id', 'value']) + eq_(list(BaseType.__table__.c.keys()), ['type', 'id', 'value']) eq_(Specific.__table__.name, 'specific') - eq_(Specific.__table__.c.keys(), ['id']) + eq_(list(Specific.__table__.c.keys()), ['id']) def test_single_back_propagate(self): @@ -891,7 +891,7 @@ class DeclarativeMixinTest(DeclarativeTestBase): __mapper_args__ = dict(polymorphic_identity='specific') - eq_(BaseType.__table__.c.keys(), ['type', 'id', 'timestamp']) + eq_(list(BaseType.__table__.c.keys()), ['type', 'id', 'timestamp']) def test_table_in_model_and_same_column_in_mixin(self): @@ -987,7 +987,7 @@ class DeclarativeMixinTest(DeclarativeTestBase): id = Column(Integer, primary_key=True) __tablename__ = 'model' - eq_(Model.__table__.c.keys(), ['col1', 'col3', 'col2', 'col4', + eq_(list(Model.__table__.c.keys()), ['col1', 'col3', 'col2', 'col4', 'id']) def test_honor_class_mro_one(self): @@ -1078,8 +1078,8 @@ class DeclarativeMixinTest(DeclarativeTestBase): filter_class = FilterB id = Column(Integer(), primary_key=True) - TypeA(filters=[u'foo']) - TypeB(filters=[u'foo']) + TypeA(filters=['foo']) + TypeB(filters=['foo']) class DeclarativeMixinPropertyTest(DeclarativeTestBase): diff --git a/test/ext/test_associationproxy.py b/test/ext/test_associationproxy.py index c15b98bf2..a5fcc45cc 100644 --- a/test/ext/test_associationproxy.py +++ b/test/ext/test_associationproxy.py @@ -288,7 +288,7 @@ class CustomDictTest(DictTest): ch = Child('a', 'regular') p1._children.append(ch) - self.assert_(ch in p1._children.values()) + self.assert_(ch in list(p1._children.values())) self.assert_(len(p1._children) == 1) self.assert_(p1.children) @@ -300,7 +300,7 @@ class CustomDictTest(DictTest): p1.children['b'] = 'proxied' - self.assert_('proxied' in p1.children.values()) + self.assert_('proxied' in list(p1.children.values())) self.assert_('b' in p1.children) self.assert_('proxied' not in p1._children) self.assert_(len(p1.children) == 2) @@ -526,9 +526,9 @@ class SetTest(_CollectionOperations): try: self.assert_(p.children == control) except: - print 'Test %s.%s(%s):' % (set(base), op, other) - print 'want', repr(control) - print 'got', repr(p.children) + print('Test %s.%s(%s):' % (set(base), op, other)) + print('want', repr(control)) + print('got', repr(p.children)) raise p = self.roundtrip(p) @@ -536,9 +536,9 @@ class SetTest(_CollectionOperations): try: self.assert_(p.children == control) except: - print 'Test %s.%s(%s):' % (base, op, other) - print 'want', repr(control) - print 'got', repr(p.children) + print('Test %s.%s(%s):' % (base, op, other)) + print('want', repr(control)) + print('got', repr(p.children)) raise # in-place mutations @@ -553,15 +553,15 @@ class SetTest(_CollectionOperations): p.children = base[:] control = set(base[:]) - exec "p.children %s other" % op - exec "control %s other" % op + exec("p.children %s other" % op) + exec("control %s other" % op) try: self.assert_(p.children == control) except: - print 'Test %s %s %s:' % (set(base), op, other) - print 'want', repr(control) - print 'got', repr(p.children) + print('Test %s %s %s:' % (set(base), op, other)) + print('want', repr(control)) + print('got', repr(p.children)) raise p = self.roundtrip(p) @@ -569,9 +569,9 @@ class SetTest(_CollectionOperations): try: self.assert_(p.children == control) except: - print 'Test %s %s %s:' % (base, op, other) - print 'want', repr(control) - print 'got', repr(p.children) + print('Test %s %s %s:' % (base, op, other)) + print('want', repr(control)) + print('got', repr(p.children)) raise diff --git a/test/ext/test_serializer.py b/test/ext/test_serializer.py index 8d4394e2d..47edbdaaa 100644 --- a/test/ext/test_serializer.py +++ b/test/ext/test_serializer.py @@ -47,12 +47,12 @@ class SerializeTest(fixtures.MappedTest): @classmethod def insert_data(cls): - params = [dict(zip(('id', 'name'), column_values)) + params = [dict(list(zip(('id', 'name'), column_values))) for column_values in [(7, 'jack'), (8, 'ed'), (9, 'fred'), (10, 'chuck')]] users.insert().execute(params) - addresses.insert().execute([dict(zip(('id', 'user_id', 'email' - ), column_values)) + addresses.insert().execute([dict(list(zip(('id', 'user_id', 'email' + ), column_values))) for column_values in [(1, 7, 'jack@bean.com'), (2, 8, 'ed@wood.com'), (3, 8, @@ -85,8 +85,8 @@ class SerializeTest(fixtures.MappedTest): users.metadata, None) eq_(str(expr), str(re_expr)) assert re_expr.bind is testing.db - eq_(re_expr.execute().fetchall(), [(7, u'jack'), (8, u'ed'), - (8, u'ed'), (8, u'ed'), (9, u'fred')]) + eq_(re_expr.execute().fetchall(), [(7, 'jack'), (8, 'ed'), + (8, 'ed'), (8, 'ed'), (9, 'fred')]) def test_query_one(self): q = Session.query(User).\ @@ -121,7 +121,7 @@ class SerializeTest(fixtures.MappedTest): q2 = serializer.loads(serializer.dumps(q, -1), users.metadata, Session) eq_(q2.all(), [User(name='fred')]) - eq_(list(q2.values(User.id, User.name)), [(9, u'fred')]) + eq_(list(q2.values(User.id, User.name)), [(9, 'fred')]) def test_query_three(self): ua = aliased(User) @@ -134,7 +134,7 @@ class SerializeTest(fixtures.MappedTest): # try to pull out the aliased entity here... ua_2 = q2._entities[0].entity_zero.entity - eq_(list(q2.values(ua_2.id, ua_2.name)), [(9, u'fred')]) + eq_(list(q2.values(ua_2.id, ua_2.name)), [(9, 'fred')]) def test_orm_join(self): from sqlalchemy.orm.util import join diff --git a/test/orm/inheritance/test_assorted_poly.py b/test/orm/inheritance/test_assorted_poly.py index e8e6ba82a..d05a22f39 100644 --- a/test/orm/inheritance/test_assorted_poly.py +++ b/test/orm/inheritance/test_assorted_poly.py @@ -18,7 +18,7 @@ from sqlalchemy.testing.schema import Table, Column class AttrSettable(object): def __init__(self, **kwargs): - [setattr(self, k, v) for k, v in kwargs.iteritems()] + [setattr(self, k, v) for k, v in kwargs.items()] def __repr__(self): return self.__class__.__name__ + "(%s)" % (hex(id(self))) @@ -386,7 +386,7 @@ class RelationshipTest4(fixtures.MappedTest): # class definitions class Person(object): def __init__(self, **kwargs): - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): setattr(self, key, value) def __repr__(self): return "Ordinary person %s" % self.name @@ -400,7 +400,7 @@ class RelationshipTest4(fixtures.MappedTest): (self.name, self.longer_status) class Car(object): def __init__(self, **kwargs): - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): setattr(self, key, value) def __repr__(self): return "Car number %d" % self.car_id @@ -512,7 +512,7 @@ class RelationshipTest5(fixtures.MappedTest): class Person(object): def __init__(self, **kwargs): - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): setattr(self, key, value) def __repr__(self): return "Ordinary person %s" % self.name @@ -526,7 +526,7 @@ class RelationshipTest5(fixtures.MappedTest): (self.name, self.longer_status) class Car(object): def __init__(self, **kwargs): - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): setattr(self, key, value) def __repr__(self): return "Car number %d" % self.car_id @@ -646,7 +646,7 @@ class RelationshipTest7(fixtures.MappedTest): class PersistentObject(object): def __init__(self, **kwargs): - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): setattr(self, key, value) class Status(PersistentObject): @@ -838,7 +838,7 @@ class GenerativeTest(fixtures.TestBase, AssertsExecutionResults): # class definitions class PersistentObject(object): def __init__(self, **kwargs): - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): setattr(self, key, value) class Status(PersistentObject): def __repr__(self): @@ -968,7 +968,7 @@ class MultiLevelTest(fixtures.MappedTest): def test_threelevels(self): class Employee( object): def set( me, **kargs): - for k,v in kargs.iteritems(): setattr( me, k, v) + for k,v in kargs.items(): setattr( me, k, v) return me def __str__(me): return str(me.__class__.__name__)+':'+str(me.name) diff --git a/test/orm/inheritance/test_basic.py b/test/orm/inheritance/test_basic.py index bbfa54383..afd63f2b4 100644 --- a/test/orm/inheritance/test_basic.py +++ b/test/orm/inheritance/test_basic.py @@ -1355,7 +1355,7 @@ class SyncCompileTest(fixtures.MappedTest): def _do_test(self, j1, j2): class A(object): def __init__(self, **kwargs): - for key, value in kwargs.items(): + for key, value in list(kwargs.items()): setattr(self, key, value) class B(A): @@ -1830,7 +1830,7 @@ class OptimizedLoadTest(fixtures.MappedTest): "SELECT sub.counter AS sub_counter, base.counter AS base_counter, " "sub.counter2 AS sub_counter2 FROM base JOIN sub ON " "base.id = sub.id WHERE base.id = :param_1", - lambda ctx:{u'param_1': s1.id} + lambda ctx:{'param_1': s1.id} ), ) @@ -1910,7 +1910,7 @@ class OptimizedLoadTest(fixtures.MappedTest): "SELECT subsub.counter2 AS subsub_counter2, " "sub.counter2 AS sub_counter2 FROM subsub, sub " "WHERE :param_1 = sub.id AND sub.id = subsub.id", - lambda ctx:{u'param_1': s1.id} + lambda ctx:{'param_1': s1.id} ), ) @@ -2409,9 +2409,9 @@ class NameConflictTest(fixtures.MappedTest): polymorphic_identity='foo') sess = create_session() f = Foo() - f.content_type = u'bar' + f.content_type = 'bar' sess.add(f) sess.flush() f_id = f.id sess.expunge_all() - assert sess.query(Content).get(f_id).content_type == u'bar' + assert sess.query(Content).get(f_id).content_type == 'bar' diff --git a/test/orm/inheritance/test_concrete.py b/test/orm/inheritance/test_concrete.py index 40c3ab31b..5d6b82a15 100644 --- a/test/orm/inheritance/test_concrete.py +++ b/test/orm/inheritance/test_concrete.py @@ -722,10 +722,10 @@ class ColKeysTest(fixtures.MappedTest): @classmethod def insert_data(cls): refugees_table.insert().execute(dict(refugee_fid=1, - name=u'refugee1'), dict(refugee_fid=2, name=u'refugee2' + name='refugee1'), dict(refugee_fid=2, name='refugee2' )) offices_table.insert().execute(dict(office_fid=1, - name=u'office1'), dict(office_fid=2, name=u'office2')) + name='office1'), dict(office_fid=2, name='office2')) def test_keys(self): pjoin = polymorphic_union({'refugee': refugees_table, 'office' diff --git a/test/orm/inheritance/test_magazine.py b/test/orm/inheritance/test_magazine.py index ae5aa8c8d..b459a01ae 100644 --- a/test/orm/inheritance/test_magazine.py +++ b/test/orm/inheritance/test_magazine.py @@ -8,7 +8,7 @@ from sqlalchemy.testing.schema import Table, Column class BaseObject(object): def __init__(self, *args, **kwargs): - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): setattr(self, key, value) class Publication(BaseObject): pass @@ -200,15 +200,15 @@ def _generate_round_trip_test(use_unions=False, use_joins=False): session.flush() - print [x for x in session] + print([x for x in session]) session.expunge_all() session.flush() session.expunge_all() p = session.query(Publication).filter(Publication.name=="Test").one() - print p.issues[0].locations[0].magazine.pages - print [page, page2, page3] + print(p.issues[0].locations[0].magazine.pages) + print([page, page2, page3]) assert repr(p.issues[0].locations[0].magazine.pages) == repr([page, page2, page3]), repr(p.issues[0].locations[0].magazine.pages) test_roundtrip = function_named( diff --git a/test/orm/inheritance/test_manytomany.py b/test/orm/inheritance/test_manytomany.py index e4df5d133..31c4ba40a 100644 --- a/test/orm/inheritance/test_manytomany.py +++ b/test/orm/inheritance/test_manytomany.py @@ -42,7 +42,7 @@ class InheritTest(fixtures.MappedTest): def testbasic(self): class Principal(object): def __init__(self, **kwargs): - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): setattr(self, key, value) class User(Principal): @@ -94,8 +94,8 @@ class InheritTest2(fixtures.MappedTest): mapper(Foo, foo) mapper(Bar, bar, inherits=Foo) - print foo.join(bar).primary_key - print class_mapper(Bar).primary_key + print(foo.join(bar).primary_key) + print(class_mapper(Bar).primary_key) b = Bar('somedata') sess = create_session() sess.add(b) @@ -133,8 +133,8 @@ class InheritTest2(fixtures.MappedTest): sess.expunge_all() l = sess.query(Bar).all() - print l[0] - print l[0].foos + print(l[0]) + print(l[0].foos) self.assert_unordered_result(l, Bar, # {'id':1, 'data':'barfoo', 'bid':1, 'foos':(Foo, [{'id':2,'data':'subfoo1'}, {'id':3,'data':'subfoo2'}])}, {'id':b.id, 'data':'barfoo', 'foos':(Foo, [{'id':f1.id,'data':'subfoo1'}, {'id':f2.id,'data':'subfoo2'}])}, @@ -197,7 +197,7 @@ class InheritTest3(fixtures.MappedTest): compare = [repr(b)] + sorted([repr(o) for o in b.foos]) sess.expunge_all() l = sess.query(Bar).all() - print repr(l[0]) + repr(l[0].foos) + print(repr(l[0]) + repr(l[0].foos)) found = [repr(l[0])] + sorted([repr(o) for o in l[0].foos]) eq_(found, compare) @@ -239,11 +239,11 @@ class InheritTest3(fixtures.MappedTest): sess.expunge_all() l = sess.query(Blub).all() - print l + print(l) self.assert_(repr(l[0]) == compare) sess.expunge_all() x = sess.query(Blub).filter_by(id=blubid).one() - print x + print(x) self.assert_(repr(x) == compare) diff --git a/test/orm/inheritance/test_polymorphic_rel.py b/test/orm/inheritance/test_polymorphic_rel.py index 1b9acb787..8c1f22114 100644 --- a/test/orm/inheritance/test_polymorphic_rel.py +++ b/test/orm/inheritance/test_polymorphic_rel.py @@ -7,7 +7,7 @@ from sqlalchemy import exc as sa_exc from sqlalchemy import testing from sqlalchemy.testing import assert_raises, eq_ -from _poly_fixtures import Company, Person, Engineer, Manager, Boss, \ +from ._poly_fixtures import Company, Person, Engineer, Manager, Boss, \ Machine, Paperwork, _Polymorphic,\ _PolymorphicPolymorphic, _PolymorphicUnions, _PolymorphicJoins,\ _PolymorphicAliasedJoins @@ -118,24 +118,24 @@ class _PolymorphicTestBase(object): eq_(q.count(), 1) eq_(q.all(), [ ( - Company(company_id=1, name=u'MegaCorp, Inc.'), + Company(company_id=1, name='MegaCorp, Inc.'), Engineer( - status=u'regular engineer', - engineer_name=u'dilbert', - name=u'dilbert', + status='regular engineer', + engineer_name='dilbert', + name='dilbert', company_id=1, - primary_language=u'java', + primary_language='java', person_id=1, - type=u'engineer'), - Company(company_id=1, name=u'MegaCorp, Inc.'), + type='engineer'), + Company(company_id=1, name='MegaCorp, Inc.'), Engineer( - status=u'regular engineer', - engineer_name=u'wally', - name=u'wally', + status='regular engineer', + engineer_name='wally', + name='wally', company_id=1, - primary_language=u'c++', + primary_language='c++', person_id=2, - type=u'engineer') + type='engineer') ) ]) @@ -337,8 +337,8 @@ class _PolymorphicTestBase(object): sess = create_session() expected = [ - (u'dogbert',), - (u'pointy haired boss',)] + ('dogbert',), + ('pointy haired boss',)] eq_(sess.query(Manager.name) .order_by(Manager.name).all(), expected) @@ -346,9 +346,9 @@ class _PolymorphicTestBase(object): def test_join_from_columns_or_subclass_two(self): sess = create_session() expected = [ - (u'dogbert',), - (u'dogbert',), - (u'pointy haired boss',)] + ('dogbert',), + ('dogbert',), + ('pointy haired boss',)] eq_(sess.query(Manager.name) .join(Paperwork, Manager.paperwork) .order_by(Manager.name).all(), @@ -357,14 +357,14 @@ class _PolymorphicTestBase(object): def test_join_from_columns_or_subclass_three(self): sess = create_session() expected = [ - (u'dilbert',), - (u'dilbert',), - (u'dogbert',), - (u'dogbert',), - (u'pointy haired boss',), - (u'vlad',), - (u'wally',), - (u'wally',)] + ('dilbert',), + ('dilbert',), + ('dogbert',), + ('dogbert',), + ('pointy haired boss',), + ('vlad',), + ('wally',), + ('wally',)] eq_(sess.query(Person.name) .join(Paperwork, Person.paperwork) .order_by(Person.name).all(), @@ -375,14 +375,14 @@ class _PolymorphicTestBase(object): # Load Person.name, joining from Person -> paperwork, get all # the people. expected = [ - (u'dilbert',), - (u'dilbert',), - (u'dogbert',), - (u'dogbert',), - (u'pointy haired boss',), - (u'vlad',), - (u'wally',), - (u'wally',)] + ('dilbert',), + ('dilbert',), + ('dogbert',), + ('dogbert',), + ('pointy haired boss',), + ('vlad',), + ('wally',), + ('wally',)] eq_(sess.query(Person.name) .join(paperwork, Person.person_id == paperwork.c.person_id) @@ -393,9 +393,9 @@ class _PolymorphicTestBase(object): sess = create_session() # same, on manager. get only managers. expected = [ - (u'dogbert',), - (u'dogbert',), - (u'pointy haired boss',)] + ('dogbert',), + ('dogbert',), + ('pointy haired boss',)] eq_(sess.query(Manager.name) .join(paperwork, Manager.person_id == paperwork.c.person_id) @@ -418,14 +418,14 @@ class _PolymorphicTestBase(object): # here, it joins to the full result set. This is 0.6's # behavior and is more or less wrong. expected = [ - (u'dilbert',), - (u'dilbert',), - (u'dogbert',), - (u'dogbert',), - (u'pointy haired boss',), - (u'vlad',), - (u'wally',), - (u'wally',)] + ('dilbert',), + ('dilbert',), + ('dogbert',), + ('dogbert',), + ('pointy haired boss',), + ('vlad',), + ('wally',), + ('wally',)] eq_(sess.query(Person.name) .join(paperwork, Manager.person_id == paperwork.c.person_id) @@ -435,9 +435,9 @@ class _PolymorphicTestBase(object): # when a join is present and managers.person_id is available, # you get the managers. expected = [ - (u'dogbert',), - (u'dogbert',), - (u'pointy haired boss',)] + ('dogbert',), + ('dogbert',), + ('pointy haired boss',)] eq_(sess.query(Person.name) .join(paperwork, Manager.person_id == paperwork.c.person_id) @@ -454,9 +454,9 @@ class _PolymorphicTestBase(object): def test_join_from_columns_or_subclass_eight(self): sess = create_session() expected = [ - (u'dogbert',), - (u'dogbert',), - (u'pointy haired boss',)] + ('dogbert',), + ('dogbert',), + ('pointy haired boss',)] eq_(sess.query(Manager.name) .join(paperwork, Manager.person_id == paperwork.c.person_id) @@ -474,9 +474,9 @@ class _PolymorphicTestBase(object): def test_join_from_columns_or_subclass_ten(self): sess = create_session() expected = [ - (u'pointy haired boss', u'review #1'), - (u'dogbert', u'review #2'), - (u'dogbert', u'review #3')] + ('pointy haired boss', 'review #1'), + ('dogbert', 'review #2'), + ('dogbert', 'review #3')] eq_(sess.query(Manager.name, Paperwork.description) .join(Paperwork, Manager.person_id == Paperwork.person_id) @@ -486,9 +486,9 @@ class _PolymorphicTestBase(object): def test_join_from_columns_or_subclass_eleven(self): sess = create_session() expected = [ - (u'pointy haired boss',), - (u'dogbert',), - (u'dogbert',)] + ('pointy haired boss',), + ('dogbert',), + ('dogbert',)] malias = aliased(Manager) eq_(sess.query(malias.name) .join(paperwork, @@ -977,32 +977,32 @@ class _PolymorphicTestBase(object): expected = [ (Engineer( - status=u'regular engineer', - engineer_name=u'dilbert', - name=u'dilbert', + status='regular engineer', + engineer_name='dilbert', + name='dilbert', company_id=1, - primary_language=u'java', + primary_language='java', person_id=1, - type=u'engineer'), - u'MegaCorp, Inc.'), + type='engineer'), + 'MegaCorp, Inc.'), (Engineer( - status=u'regular engineer', - engineer_name=u'wally', - name=u'wally', + status='regular engineer', + engineer_name='wally', + name='wally', company_id=1, - primary_language=u'c++', + primary_language='c++', person_id=2, - type=u'engineer'), - u'MegaCorp, Inc.'), + type='engineer'), + 'MegaCorp, Inc.'), (Engineer( - status=u'elbonian engineer', - engineer_name=u'vlad', - name=u'vlad', + status='elbonian engineer', + engineer_name='vlad', + name='vlad', company_id=2, - primary_language=u'cobol', + primary_language='cobol', person_id=5, - type=u'engineer'), - u'Elbonia, Inc.')] + type='engineer'), + 'Elbonia, Inc.')] eq_(sess.query(Engineer, Company.name) .join(Company.employees) .filter(Person.type == 'engineer').all(), @@ -1011,9 +1011,9 @@ class _PolymorphicTestBase(object): def test_mixed_entities_two(self): sess = create_session() expected = [ - (u'java', u'MegaCorp, Inc.'), - (u'cobol', u'Elbonia, Inc.'), - (u'c++', u'MegaCorp, Inc.')] + ('java', 'MegaCorp, Inc.'), + ('cobol', 'Elbonia, Inc.'), + ('c++', 'MegaCorp, Inc.')] eq_(sess.query(Engineer.primary_language, Company.name) .join(Company.employees) .filter(Person.type == 'engineer') @@ -1025,19 +1025,19 @@ class _PolymorphicTestBase(object): palias = aliased(Person) expected = [( Engineer( - status=u'elbonian engineer', - engineer_name=u'vlad', - name=u'vlad', - primary_language=u'cobol'), - u'Elbonia, Inc.', + status='elbonian engineer', + engineer_name='vlad', + name='vlad', + primary_language='cobol'), + 'Elbonia, Inc.', Engineer( - status=u'regular engineer', - engineer_name=u'dilbert', - name=u'dilbert', + status='regular engineer', + engineer_name='dilbert', + name='dilbert', company_id=1, - primary_language=u'java', + primary_language='java', person_id=1, - type=u'engineer'))] + type='engineer'))] eq_(sess.query(Person, Company.name, palias) .join(Company.employees) .filter(Company.name == 'Elbonia, Inc.') @@ -1049,19 +1049,19 @@ class _PolymorphicTestBase(object): palias = aliased(Person) expected = [( Engineer( - status=u'regular engineer', - engineer_name=u'dilbert', - name=u'dilbert', + status='regular engineer', + engineer_name='dilbert', + name='dilbert', company_id=1, - primary_language=u'java', + primary_language='java', person_id=1, - type=u'engineer'), - u'Elbonia, Inc.', + type='engineer'), + 'Elbonia, Inc.', Engineer( - status=u'elbonian engineer', - engineer_name=u'vlad', - name=u'vlad', - primary_language=u'cobol'),)] + status='elbonian engineer', + engineer_name='vlad', + name='vlad', + primary_language='cobol'),)] eq_(sess.query(palias, Company.name, Person) .join(Company.employees) .filter(Company.name == 'Elbonia, Inc.') @@ -1071,7 +1071,7 @@ class _PolymorphicTestBase(object): def test_mixed_entities_five(self): sess = create_session() palias = aliased(Person) - expected = [(u'vlad', u'Elbonia, Inc.', u'dilbert')] + expected = [('vlad', 'Elbonia, Inc.', 'dilbert')] eq_(sess.query(Person.name, Company.name, palias.name) .join(Company.employees) .filter(Company.name == 'Elbonia, Inc.') @@ -1082,9 +1082,9 @@ class _PolymorphicTestBase(object): sess = create_session() palias = aliased(Person) expected = [ - (u'manager', u'dogbert', u'engineer', u'dilbert'), - (u'manager', u'dogbert', u'engineer', u'wally'), - (u'manager', u'dogbert', u'boss', u'pointy haired boss')] + ('manager', 'dogbert', 'engineer', 'dilbert'), + ('manager', 'dogbert', 'engineer', 'wally'), + ('manager', 'dogbert', 'boss', 'pointy haired boss')] eq_(sess.query(Person.type, Person.name, palias.type, palias.name) .filter(Person.company_id == palias.company_id) .filter(Person.name == 'dogbert') @@ -1095,14 +1095,14 @@ class _PolymorphicTestBase(object): def test_mixed_entities_seven(self): sess = create_session() expected = [ - (u'dilbert', u'tps report #1'), - (u'dilbert', u'tps report #2'), - (u'dogbert', u'review #2'), - (u'dogbert', u'review #3'), - (u'pointy haired boss', u'review #1'), - (u'vlad', u'elbonian missive #3'), - (u'wally', u'tps report #3'), - (u'wally', u'tps report #4')] + ('dilbert', 'tps report #1'), + ('dilbert', 'tps report #2'), + ('dogbert', 'review #2'), + ('dogbert', 'review #3'), + ('pointy haired boss', 'review #1'), + ('vlad', 'elbonian missive #3'), + ('wally', 'tps report #3'), + ('wally', 'tps report #4')] eq_(sess.query(Person.name, Paperwork.description) .filter(Person.person_id == Paperwork.person_id) .order_by(Person.name, Paperwork.description).all(), @@ -1116,7 +1116,7 @@ class _PolymorphicTestBase(object): def test_mixed_entities_nine(self): sess = create_session() - expected = [(u'Elbonia, Inc.', 1), (u'MegaCorp, Inc.', 4)] + expected = [('Elbonia, Inc.', 1), ('MegaCorp, Inc.', 4)] eq_(sess.query(Company.name, func.count(Person.person_id)) .filter(Company.company_id == Person.company_id) .group_by(Company.name) @@ -1125,7 +1125,7 @@ class _PolymorphicTestBase(object): def test_mixed_entities_ten(self): sess = create_session() - expected = [(u'Elbonia, Inc.', 1), (u'MegaCorp, Inc.', 4)] + expected = [('Elbonia, Inc.', 1), ('MegaCorp, Inc.', 4)] eq_(sess.query(Company.name, func.count(Person.person_id)) .join(Company.employees) .group_by(Company.name) @@ -1153,14 +1153,14 @@ class _PolymorphicTestBase(object): def test_mixed_entities_eleven(self): sess = create_session() - expected = [(u'java',), (u'c++',), (u'cobol',)] + expected = [('java',), ('c++',), ('cobol',)] eq_(sess.query(Engineer.primary_language) .filter(Person.type == 'engineer').all(), expected) def test_mixed_entities_twelve(self): sess = create_session() - expected = [(u'vlad', u'Elbonia, Inc.')] + expected = [('vlad', 'Elbonia, Inc.')] eq_(sess.query(Person.name, Company.name) .join(Company.employees) .filter(Company.name == 'Elbonia, Inc.').all(), @@ -1168,15 +1168,15 @@ class _PolymorphicTestBase(object): def test_mixed_entities_thirteen(self): sess = create_session() - expected = [(u'pointy haired boss', u'fore')] + expected = [('pointy haired boss', 'fore')] eq_(sess.query(Boss.name, Boss.golf_swing).all(), expected) def test_mixed_entities_fourteen(self): sess = create_session() expected = [ - (u'dilbert', u'java'), - (u'wally', u'c++'), - (u'vlad', u'cobol')] + ('dilbert', 'java'), + ('wally', 'c++'), + ('vlad', 'cobol')] eq_(sess.query(Engineer.name, Engineer.primary_language).all(), expected) @@ -1184,12 +1184,12 @@ class _PolymorphicTestBase(object): sess = create_session() expected = [( - u'Elbonia, Inc.', + 'Elbonia, Inc.', Engineer( - status=u'elbonian engineer', - engineer_name=u'vlad', - name=u'vlad', - primary_language=u'cobol'))] + status='elbonian engineer', + engineer_name='vlad', + name='vlad', + primary_language='cobol'))] eq_(sess.query(Company.name, Person) .join(Company.employees) .filter(Company.name == 'Elbonia, Inc.').all(), @@ -1199,11 +1199,11 @@ class _PolymorphicTestBase(object): sess = create_session() expected = [( Engineer( - status=u'elbonian engineer', - engineer_name=u'vlad', - name=u'vlad', - primary_language=u'cobol'), - u'Elbonia, Inc.')] + status='elbonian engineer', + engineer_name='vlad', + name='vlad', + primary_language='cobol'), + 'Elbonia, Inc.')] eq_(sess.query(Person, Company.name) .join(Company.employees) .filter(Company.name == 'Elbonia, Inc.').all(), diff --git a/test/orm/inheritance/test_productspec.py b/test/orm/inheritance/test_productspec.py index c1e99e338..3de5e3695 100644 --- a/test/orm/inheritance/test_productspec.py +++ b/test/orm/inheritance/test_productspec.py @@ -122,8 +122,8 @@ class InheritTest(fixtures.MappedTest): a1 = session.query(Product).filter_by(name='a1').one() new = repr(a1) - print orig - print new + print(orig) + print(new) assert orig == new == '<Assembly a1> specification=[<SpecLine 1.0 <Product p1>>, <SpecLine 1.0 <Detail d1>>] documents=None' def testtwo(self): @@ -153,8 +153,8 @@ class InheritTest(fixtures.MappedTest): session.flush() session.expunge_all() new = repr(session.query(SpecLine).all()) - print orig - print new + print(orig) + print(new) assert orig == new == '[<SpecLine 1.0 <Product p1>>, <SpecLine 1.0 <Detail d1>>]' def testthree(self): @@ -206,8 +206,8 @@ class InheritTest(fixtures.MappedTest): a1 = session.query(Product).filter_by(name='a1').one() new = repr(a1) - print orig - print new + print(orig) + print(new) assert orig == new == '<Assembly a1> specification=[<SpecLine 1.0 <Detail d1>>] documents=[<Document doc1>, <RasterDocument doc2>]' def testfour(self): @@ -245,8 +245,8 @@ class InheritTest(fixtures.MappedTest): a1 = session.query(Product).filter_by(name='a1').one() new = repr(a1) - print orig - print new + print(orig) + print(new) assert orig == new == '<Assembly a1> specification=None documents=[<RasterDocument doc2>]' del a1.documents[0] @@ -312,7 +312,7 @@ class InheritTest(fixtures.MappedTest): a1 = session.query(Product).filter_by(name='a1').one() new = repr(a1) - print orig - print new + print(orig) + print(new) assert orig == new == '<Assembly a1> specification=[<SpecLine 1.0 <Detail d1>>] documents=[<Document doc1>, <RasterDocument doc2>]' diff --git a/test/orm/inheritance/test_relationship.py b/test/orm/inheritance/test_relationship.py index 36dbb7d27..809884f52 100644 --- a/test/orm/inheritance/test_relationship.py +++ b/test/orm/inheritance/test_relationship.py @@ -287,7 +287,7 @@ class SelfReferentialJ2JSelfTest(fixtures.MappedTest): def _five_obj_fixture(self): sess = Session() e1, e2, e3, e4, e5 = [ - Engineer(name='e%d' % (i + 1)) for i in xrange(5) + Engineer(name='e%d' % (i + 1)) for i in range(5) ] e3.reports_to = e1 e4.reports_to = e2 diff --git a/test/orm/inheritance/test_with_poly.py b/test/orm/inheritance/test_with_poly.py index 93cccee7a..87251a4c2 100644 --- a/test/orm/inheritance/test_with_poly.py +++ b/test/orm/inheritance/test_with_poly.py @@ -11,7 +11,7 @@ from sqlalchemy import testing from sqlalchemy.testing.schema import Table, Column from sqlalchemy.testing import assert_raises, eq_ -from _poly_fixtures import Company, Person, Engineer, Manager, Boss, \ +from ._poly_fixtures import Company, Person, Engineer, Manager, Boss, \ Machine, Paperwork, _PolymorphicFixtureBase, _Polymorphic,\ _PolymorphicPolymorphic, _PolymorphicUnions, _PolymorphicJoins,\ _PolymorphicAliasedJoins @@ -37,8 +37,8 @@ class _WithPolymorphicBase(_PolymorphicFixtureBase): pa.Manager.manager_name=='dogbert')).\ order_by(pa.Engineer.type).all(), [ - (u'dilbert', u'java', None), - (u'dogbert', None, u'dogbert'), + ('dilbert', 'java', None), + ('dogbert', None, 'dogbert'), ] ) @@ -63,10 +63,10 @@ class _WithPolymorphicBase(_PolymorphicFixtureBase): ) ).order_by(pa.name, pa_alias.name)], [ - (u'dilbert', Engineer, u'dilbert', Engineer), - (u'dogbert', Manager, u'pointy haired boss', Boss), - (u'vlad', Engineer, u'vlad', Engineer), - (u'wally', Engineer, u'wally', Engineer) + ('dilbert', Engineer, 'dilbert', Engineer), + ('dogbert', Manager, 'pointy haired boss', Boss), + ('vlad', Engineer, 'vlad', Engineer), + ('wally', Engineer, 'wally', Engineer) ] ) @@ -91,10 +91,10 @@ class _WithPolymorphicBase(_PolymorphicFixtureBase): ) ).order_by(pa.name, pa_alias.name)], [ - (u'dilbert', u'java', u'dilbert', u'java'), - (u'dogbert', None, u'pointy haired boss', None), - (u'vlad', u'cobol', u'vlad', u'cobol'), - (u'wally', u'c++', u'wally', u'c++') + ('dilbert', 'java', 'dilbert', 'java'), + ('dogbert', None, 'pointy haired boss', None), + ('vlad', 'cobol', 'vlad', 'cobol'), + ('wally', 'c++', 'wally', 'c++') ] ) diff --git a/test/orm/test_assorted_eager.py b/test/orm/test_assorted_eager.py index a1c96bdfa..e650a1bea 100644 --- a/test/orm/test_assorted_eager.py +++ b/test/orm/test_assorted_eager.py @@ -129,7 +129,7 @@ class EagerTest(fixtures.MappedTest): # 3 " # not orm style correct query - print "Obtaining correct results without orm" + print("Obtaining correct results without orm") result = sa.select( [tests.c.id,categories.c.name], sa.and_(tests.c.owner_id == 1, @@ -140,7 +140,7 @@ class EagerTest(fixtures.MappedTest): tests.c.id == options.c.test_id, tests.c.owner_id == options.c.owner_id))] ).execute().fetchall() - eq_(result, [(1, u'Some Category'), (3, u'Some Category')]) + eq_(result, [(1, 'Some Category'), (3, 'Some Category')]) def test_withoutjoinedload(self): Thing, tests, options = (self.classes.Thing, @@ -158,7 +158,7 @@ class EagerTest(fixtures.MappedTest): options.c.someoption==False)))) result = ["%d %s" % ( t.id,t.category.name ) for t in l] - eq_(result, [u'1 Some Category', u'3 Some Category']) + eq_(result, ['1 Some Category', '3 Some Category']) def test_withjoinedload(self): """ @@ -185,7 +185,7 @@ class EagerTest(fixtures.MappedTest): options.c.someoption==False)))) result = ["%d %s" % ( t.id,t.category.name ) for t in l] - eq_(result, [u'1 Some Category', u'3 Some Category']) + eq_(result, ['1 Some Category', '3 Some Category']) def test_dslish(self): """test the same as withjoinedload except using generative""" @@ -203,7 +203,7 @@ class EagerTest(fixtures.MappedTest): ).outerjoin('owner_option') result = ["%d %s" % ( t.id,t.category.name ) for t in l] - eq_(result, [u'1 Some Category', u'3 Some Category']) + eq_(result, ['1 Some Category', '3 Some Category']) @testing.crashes('sybase', 'FIXME: unknown, verify not fails_on') def test_without_outerjoin_literal(self): @@ -219,7 +219,7 @@ class EagerTest(fixtures.MappedTest): join('owner_option')) result = ["%d %s" % ( t.id,t.category.name ) for t in l] - eq_(result, [u'3 Some Category']) + eq_(result, ['3 Some Category']) def test_withoutouterjoin(self): Thing, tests, options = (self.classes.Thing, @@ -234,7 +234,7 @@ class EagerTest(fixtures.MappedTest): ).join('owner_option') result = ["%d %s" % ( t.id,t.category.name ) for t in l] - eq_(result, [u'3 Some Category']) + eq_(result, ['3 Some Category']) class EagerTest2(fixtures.MappedTest): @@ -764,7 +764,7 @@ class EagerTest8(fixtures.MappedTest): (1,),), task=(('title', 'task_type_id', 'status_id', 'prj_id'), - (u'task 1', 1, 1, 1))) + ('task 1', 1, 1, 1))) @classmethod def setup_classes(cls): @@ -804,7 +804,7 @@ class EagerTest8(fixtures.MappedTest): session = create_session() eq_(session.query(Joined).limit(10).offset(0).one(), - Joined(id=1, title=u'task 1', props_cnt=0)) + Joined(id=1, title='task 1', props_cnt=0)) class EagerTest9(fixtures.MappedTest): diff --git a/test/orm/test_attributes.py b/test/orm/test_attributes.py index d60c55edd..2b5d14695 100644 --- a/test/orm/test_attributes.py +++ b/test/orm/test_attributes.py @@ -838,7 +838,7 @@ class AttributesTest(fixtures.ORMTest): attributes.register_attribute(Foo, 'collection', uselist=True, typecallable=dict, useobject=True) assert False - except sa_exc.ArgumentError, e: + except sa_exc.ArgumentError as e: assert str(e) \ == 'Type InstrumentedDict must elect an appender '\ 'method to be a collection class' @@ -865,7 +865,7 @@ class AttributesTest(fixtures.ORMTest): attributes.register_attribute(Foo, 'collection', uselist=True, typecallable=MyColl, useobject=True) assert False - except sa_exc.ArgumentError, e: + except sa_exc.ArgumentError as e: assert str(e) \ == 'Type MyColl must elect an appender method to be a '\ 'collection class' @@ -889,7 +889,7 @@ class AttributesTest(fixtures.ORMTest): try: Foo().collection assert True - except sa_exc.ArgumentError, e: + except sa_exc.ArgumentError as e: assert False class GetNoValueTest(fixtures.ORMTest): @@ -1410,7 +1410,7 @@ class HistoryTest(fixtures.TestBase): class Foo(fixtures.BasicEntity): pass class Bar(fixtures.BasicEntity): - def __nonzero__(self): + def __bool__(self): assert False instrumentation.register_class(Foo) diff --git a/test/orm/test_collection.py b/test/orm/test_collection.py index f6cf51037..c9f9f6951 100644 --- a/test/orm/test_collection.py +++ b/test/orm/test_collection.py @@ -1106,7 +1106,7 @@ class CollectionsTest(fixtures.ORMTest): @collection.converter def _convert(self, dictlike): - for key, value in dictlike.iteritems(): + for key, value in dictlike.items(): yield value + 5 class Foo(object): @@ -1145,12 +1145,12 @@ class CollectionsTest(fixtures.ORMTest): def __delitem__(self, key): del self.data[key] def values(self): - return self.data.values() + return list(self.data.values()) def __contains__(self, key): return key in self.data @collection.iterator def itervalues(self): - return self.data.itervalues() + return iter(self.data.values()) __hash__ = object.__hash__ def __eq__(self, other): return self.data == other @@ -1158,7 +1158,7 @@ class CollectionsTest(fixtures.ORMTest): return 'DictLike(%s)' % repr(self.data) self._test_adapter(DictLike, self.dictable_entity, - to_set=lambda c: set(c.itervalues())) + to_set=lambda c: set(c.values())) self._test_dict(DictLike) self._test_dict_bulk(DictLike) self.assert_(getattr(DictLike, '_sa_instrumented') == id(DictLike)) @@ -1185,12 +1185,12 @@ class CollectionsTest(fixtures.ORMTest): def __delitem__(self, key): del self.data[key] def values(self): - return self.data.values() + return list(self.data.values()) def __contains__(self, key): return key in self.data @collection.iterator def itervalues(self): - return self.data.itervalues() + return iter(self.data.values()) __hash__ = object.__hash__ def __eq__(self, other): return self.data == other @@ -1198,7 +1198,7 @@ class CollectionsTest(fixtures.ORMTest): return 'DictIsh(%s)' % repr(self.data) self._test_adapter(DictIsh, self.dictable_entity, - to_set=lambda c: set(c.itervalues())) + to_set=lambda c: set(c.values())) self._test_dict(DictIsh) self._test_dict_bulk(DictIsh) self.assert_(getattr(DictIsh, '_sa_instrumented') == id(DictIsh)) @@ -1859,7 +1859,7 @@ class CustomCollectionsTest(fixtures.MappedTest): f = sess.query(Foo).get(f.col1) assert len(list(f.bars)) == 2 - existing = set([id(b) for b in f.bars.values()]) + existing = set([id(b) for b in list(f.bars.values())]) col = collections.collection_adapter(f.bars) col.append_with_event(Bar('b')) @@ -1869,7 +1869,7 @@ class CustomCollectionsTest(fixtures.MappedTest): f = sess.query(Foo).get(f.col1) assert len(list(f.bars)) == 2 - replaced = set([id(b) for b in f.bars.values()]) + replaced = set([id(b) for b in list(f.bars.values())]) self.assert_(existing != replaced) def test_list(self): diff --git a/test/orm/test_composites.py b/test/orm/test_composites.py index f9af0c702..b6e5d81a1 100644 --- a/test/orm/test_composites.py +++ b/test/orm/test_composites.py @@ -510,11 +510,11 @@ class MappedSelectTest(fixtures.MappedTest): session.commit() eq_( testing.db.execute(descriptions.select()).fetchall(), - [(1, u'Color', u'Number')] + [(1, 'Color', 'Number')] ) eq_( testing.db.execute(values.select()).fetchall(), - [(1, 1, u'Red', u'5'), (2, 1, u'Blue', u'1')] + [(1, 1, 'Red', '5'), (2, 1, 'Blue', '1')] ) class ManyToOneTest(fixtures.MappedTest): diff --git a/test/orm/test_deprecations.py b/test/orm/test_deprecations.py index 95fa9dd29..a8be34971 100644 --- a/test/orm/test_deprecations.py +++ b/test/orm/test_deprecations.py @@ -122,7 +122,7 @@ class QueryAlternativesTest(fixtures.MappedTest): session = sessionmaker(query_cls=MyQuery)() ad1 = session.query(Address).get(1) - assert ad1 in cache.values() + assert ad1 in list(cache.values()) def test_load(self): """x = session.query(Address).load(1) diff --git a/test/orm/test_dynamic.py b/test/orm/test_dynamic.py index c8a675e3b..21dcfd436 100644 --- a/test/orm/test_dynamic.py +++ b/test/orm/test_dynamic.py @@ -119,9 +119,9 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL): eq_( list(u.addresses.order_by(desc(Address.email_address))), [ - Address(email_address=u'ed@wood.com'), - Address(email_address=u'ed@lala.com'), - Address(email_address=u'ed@bettyboop.com') + Address(email_address='ed@wood.com'), + Address(email_address='ed@lala.com'), + Address(email_address='ed@bettyboop.com') ] ) @@ -137,9 +137,9 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL): eq_( list(u.addresses), [ - Address(email_address=u'ed@wood.com'), - Address(email_address=u'ed@lala.com'), - Address(email_address=u'ed@bettyboop.com') + Address(email_address='ed@wood.com'), + Address(email_address='ed@lala.com'), + Address(email_address='ed@bettyboop.com') ] ) @@ -147,9 +147,9 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL): eq_( list(u.addresses.order_by(None).order_by(Address.email_address)), [ - Address(email_address=u'ed@bettyboop.com'), - Address(email_address=u'ed@lala.com'), - Address(email_address=u'ed@wood.com') + Address(email_address='ed@bettyboop.com'), + Address(email_address='ed@lala.com'), + Address(email_address='ed@wood.com') ] ) @@ -157,9 +157,9 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL): eq_( set(u.addresses.order_by(None)), set([ - Address(email_address=u'ed@bettyboop.com'), - Address(email_address=u'ed@lala.com'), - Address(email_address=u'ed@wood.com') + Address(email_address='ed@bettyboop.com'), + Address(email_address='ed@lala.com'), + Address(email_address='ed@wood.com') ]) ) @@ -529,12 +529,12 @@ class UOWTest(_DynamicFixture, _fixtures.FixtureTest, "SELECT addresses.id AS addresses_id, addresses.email_address " "AS addresses_email_address FROM addresses " "WHERE addresses.id = :param_1", - lambda ctx: [{u'param_1': a2_id}] + lambda ctx: [{'param_1': a2_id}] ), CompiledSQL( "UPDATE addresses SET user_id=:user_id WHERE addresses.id = " ":addresses_id", - lambda ctx: [{u'addresses_id': a2_id, 'user_id': None}] + lambda ctx: [{'addresses_id': a2_id, 'user_id': None}] ) ) diff --git a/test/orm/test_eager_relations.py b/test/orm/test_eager_relations.py index 2c59491b1..20ee693f3 100644 --- a/test/orm/test_eager_relations.py +++ b/test/orm/test_eager_relations.py @@ -747,11 +747,11 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): sess = create_session() eq_(sess.query(User).first(), - User(name=u'jack',orders=[ - Order(address_id=1,description=u'order 1',isopen=0,user_id=7,id=1), - Order(address_id=1,description=u'order 3',isopen=1,user_id=7,id=3), - Order(address_id=None,description=u'order 5',isopen=0,user_id=7,id=5)], - email_address=u'jack@bean.com',id=7) + User(name='jack',orders=[ + Order(address_id=1,description='order 1',isopen=0,user_id=7,id=1), + Order(address_id=1,description='order 3',isopen=1,user_id=7,id=3), + Order(address_id=None,description='order 5',isopen=0,user_id=7,id=5)], + email_address='jack@bean.com',id=7) ) def test_useget_cancels_eager(self): @@ -2131,15 +2131,15 @@ class SelfReferentialM2MEagerTest(fixtures.MappedTest): }) sess = create_session() - w1 = Widget(name=u'w1') - w2 = Widget(name=u'w2') + w1 = Widget(name='w1') + w2 = Widget(name='w2') w1.children.append(w2) sess.add(w1) sess.flush() sess.expunge_all() eq_([Widget(name='w1', children=[Widget(name='w2')])], - sess.query(Widget).filter(Widget.name==u'w1').all()) + sess.query(Widget).filter(Widget.name=='w1').all()) class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): run_setup_mappers = 'once' @@ -2223,24 +2223,24 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): eq_( [ ( - User(addresses=[Address(email_address=u'fred@fred.com')], name=u'fred'), - Order(description=u'order 2', isopen=0, items=[Item(description=u'item 1'), Item(description=u'item 2'), Item(description=u'item 3')]), - User(addresses=[Address(email_address=u'jack@bean.com')], name=u'jack'), - Order(description=u'order 3', isopen=1, items=[Item(description=u'item 3'), Item(description=u'item 4'), Item(description=u'item 5')]) + User(addresses=[Address(email_address='fred@fred.com')], name='fred'), + Order(description='order 2', isopen=0, items=[Item(description='item 1'), Item(description='item 2'), Item(description='item 3')]), + User(addresses=[Address(email_address='jack@bean.com')], name='jack'), + Order(description='order 3', isopen=1, items=[Item(description='item 3'), Item(description='item 4'), Item(description='item 5')]) ), ( - User(addresses=[Address(email_address=u'fred@fred.com')], name=u'fred'), - Order(description=u'order 2', isopen=0, items=[Item(description=u'item 1'), Item(description=u'item 2'), Item(description=u'item 3')]), - User(addresses=[Address(email_address=u'jack@bean.com')], name=u'jack'), - Order(address_id=None, description=u'order 5', isopen=0, items=[Item(description=u'item 5')]) + User(addresses=[Address(email_address='fred@fred.com')], name='fred'), + Order(description='order 2', isopen=0, items=[Item(description='item 1'), Item(description='item 2'), Item(description='item 3')]), + User(addresses=[Address(email_address='jack@bean.com')], name='jack'), + Order(address_id=None, description='order 5', isopen=0, items=[Item(description='item 5')]) ), ( - User(addresses=[Address(email_address=u'fred@fred.com')], name=u'fred'), - Order(description=u'order 4', isopen=1, items=[Item(description=u'item 1'), Item(description=u'item 5')]), - User(addresses=[Address(email_address=u'jack@bean.com')], name=u'jack'), - Order(address_id=None, description=u'order 5', isopen=0, items=[Item(description=u'item 5')]) + User(addresses=[Address(email_address='fred@fred.com')], name='fred'), + Order(description='order 4', isopen=1, items=[Item(description='item 1'), Item(description='item 5')]), + User(addresses=[Address(email_address='jack@bean.com')], name='jack'), + Order(address_id=None, description='order 5', isopen=0, items=[Item(description='item 5')]) ), ], sess.query(User, Order, u1, o1).\ @@ -2651,9 +2651,9 @@ class CyclicalInheritingEagerTestTwo(fixtures.DeclarativeMappedTest, Movie = self.classes.Movie session = Session(testing.db) - rscott = Director(name=u"Ridley Scott") - alien = Movie(title=u"Alien") - brunner = Movie(title=u"Blade Runner") + rscott = Director(name="Ridley Scott") + alien = Movie(title="Alien") + brunner = Movie(title="Blade Runner") rscott.movies.append(brunner) rscott.movies.append(alien) session.add_all([rscott, alien, brunner]) diff --git a/test/orm/test_expire.py b/test/orm/test_expire.py index 0b1350e0a..6eb124cd2 100644 --- a/test/orm/test_expire.py +++ b/test/orm/test_expire.py @@ -850,7 +850,7 @@ class ExpireTest(_fixtures.FixtureTest): assert len(u.addresses) == 3 sess.expire(u) assert 'addresses' not in u.__dict__ - print "-------------------------------------------" + print("-------------------------------------------") sess.query(User).filter_by(id=8).all() assert 'addresses' in u.__dict__ assert len(u.addresses) == 3 diff --git a/test/orm/test_froms.py b/test/orm/test_froms.py index c701a7076..5040c4685 100644 --- a/test/orm/test_froms.py +++ b/test/orm/test_froms.py @@ -315,12 +315,12 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL): from_self(User.name, ualias.name). order_by(User.name, ualias.name).all(), [ - (u'chuck', u'ed'), - (u'chuck', u'fred'), - (u'chuck', u'jack'), - (u'ed', u'jack'), - (u'fred', u'ed'), - (u'fred', u'jack') + ('chuck', 'ed'), + ('chuck', 'fred'), + ('chuck', 'jack'), + ('ed', 'jack'), + ('fred', 'ed'), + ('fred', 'jack') ] ) @@ -330,7 +330,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL): from_self(User.name, ualias.name). filter(ualias.name=='ed')\ .order_by(User.name, ualias.name).all(), - [(u'chuck', u'ed'), (u'fred', u'ed')] + [('chuck', 'ed'), ('fred', 'ed')] ) eq_( @@ -340,11 +340,11 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL): join(ualias.addresses). order_by(ualias.name, Address.email_address).all(), [ - (u'ed', u'fred@fred.com'), - (u'jack', u'ed@bettyboop.com'), - (u'jack', u'ed@lala.com'), - (u'jack', u'ed@wood.com'), - (u'jack', u'fred@fred.com')] + ('ed', 'fred@fred.com'), + ('jack', 'ed@bettyboop.com'), + ('jack', 'ed@lala.com'), + ('jack', 'ed@wood.com'), + ('jack', 'fred@fred.com')] ) @@ -629,8 +629,8 @@ class AddEntityEquivalenceTest(fixtures.MappedTest, AssertsCompiledSQL): eq_( q.all(), [( - A(bid=2, id=1, name=u'a1', type=u'a'), - C(age=3, id=2, name=u'c1', type=u'c') + A(bid=2, id=1, name='a1', type='a'), + C(age=3, id=2, name='c1', type='c') )] ) @@ -642,8 +642,8 @@ class AddEntityEquivalenceTest(fixtures.MappedTest, AssertsCompiledSQL): eq_( q.all(), [( - C(age=3, id=2, name=u'c1', type=u'c'), - A(bid=2, id=1, name=u'a1', type=u'a') + C(age=3, id=2, name='c1', type='c'), + A(bid=2, id=1, name='a1', type='a') )] ) @@ -929,12 +929,12 @@ class InstancesTest(QueryTest, AssertsCompiledSQL): # have a Dingaling here due to using the inner # join for the eager load [ - User(name=u'ed', addresses=[ - Address(email_address=u'ed@wood.com', + User(name='ed', addresses=[ + Address(email_address='ed@wood.com', dingaling=Dingaling(data='ding 1/2')), ]), - User(name=u'fred', addresses=[ - Address(email_address=u'fred@fred.com', + User(name='fred', addresses=[ + Address(email_address='fred@fred.com', dingaling=Dingaling(data='ding 2/5')) ]) ] @@ -965,12 +965,12 @@ class InstancesTest(QueryTest, AssertsCompiledSQL): # have a Dingaling here due to using the inner # join for the eager load [ - User(name=u'ed', addresses=[ - Address(email_address=u'ed@wood.com', + User(name='ed', addresses=[ + Address(email_address='ed@wood.com', dingaling=Dingaling(data='ding 1/2')), ]), - User(name=u'fred', addresses=[ - Address(email_address=u'fred@fred.com', + User(name='fred', addresses=[ + Address(email_address='fred@fred.com', dingaling=Dingaling(data='ding 2/5')) ]) ] @@ -998,11 +998,11 @@ class InstancesTest(QueryTest, AssertsCompiledSQL): contains_eager(User.orders)).order_by(User.id, Order.id).offset(1).limit(2).all() eq_(l, [User(id=7, - addresses=[Address(email_address=u'jack@bean.com', - user_id=7, id=1)], name=u'jack', + addresses=[Address(email_address='jack@bean.com', + user_id=7, id=1)], name='jack', orders=[Order(address_id=1, user_id=7, - description=u'order 3', isopen=1, id=3), - Order(address_id=None, user_id=7, description=u'order 5' + description='order 3', isopen=1, id=3), + Order(address_id=None, user_id=7, description='order 5' , isopen=0, id=5)])]) self.assert_sql_count(testing.db, go, 1) @@ -1020,11 +1020,11 @@ class InstancesTest(QueryTest, AssertsCompiledSQL): order_by(User.id, oalias.id).\ offset(1).limit(2).all() eq_(l, [User(id=7, - addresses=[Address(email_address=u'jack@bean.com', - user_id=7, id=1)], name=u'jack', + addresses=[Address(email_address='jack@bean.com', + user_id=7, id=1)], name='jack', orders=[Order(address_id=1, user_id=7, - description=u'order 3', isopen=1, id=3), - Order(address_id=None, user_id=7, description=u'order 5' + description='order 3', isopen=1, id=3), + Order(address_id=None, user_id=7, description='order 5' , isopen=0, id=5)])]) self.assert_sql_count(testing.db, go, 1) @@ -1045,15 +1045,15 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): sel = users.select(User.id.in_([7, 8])).alias() q = sess.query(User) q2 = q.select_from(sel).values(User.name) - eq_(list(q2), [(u'jack',), (u'ed',)]) + eq_(list(q2), [('jack',), ('ed',)]) q = sess.query(User) q2 = q.order_by(User.id).\ values(User.name, User.name + " " + cast(User.id, String(50))) eq_( list(q2), - [(u'jack', u'jack 7'), (u'ed', u'ed 8'), - (u'fred', u'fred 9'), (u'chuck', u'chuck 10')] + [('jack', 'jack 7'), ('ed', 'ed 8'), + ('fred', 'fred 9'), ('chuck', 'chuck 10')] ) q2 = q.join('addresses').\ @@ -1061,27 +1061,27 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): order_by(User.id, Address.id).\ values(User.name, Address.email_address) eq_(list(q2), - [(u'ed', u'ed@wood.com'), (u'ed', u'ed@bettyboop.com'), - (u'ed', u'ed@lala.com'), (u'fred', u'fred@fred.com')]) + [('ed', 'ed@wood.com'), ('ed', 'ed@bettyboop.com'), + ('ed', 'ed@lala.com'), ('fred', 'fred@fred.com')]) q2 = q.join('addresses').\ filter(User.name.like('%e%')).\ order_by(desc(Address.email_address)).\ slice(1, 3).values(User.name, Address.email_address) - eq_(list(q2), [(u'ed', u'ed@wood.com'), (u'ed', u'ed@lala.com')]) + eq_(list(q2), [('ed', 'ed@wood.com'), ('ed', 'ed@lala.com')]) adalias = aliased(Address) q2 = q.join(adalias, 'addresses').\ filter(User.name.like('%e%')).order_by(adalias.email_address).\ values(User.name, adalias.email_address) - eq_(list(q2), [(u'ed', u'ed@bettyboop.com'), (u'ed', u'ed@lala.com'), - (u'ed', u'ed@wood.com'), (u'fred', u'fred@fred.com')]) + eq_(list(q2), [('ed', 'ed@bettyboop.com'), ('ed', 'ed@lala.com'), + ('ed', 'ed@wood.com'), ('fred', 'fred@fred.com')]) q2 = q.values(func.count(User.name)) - assert q2.next() == (4,) + assert next(q2) == (4,) q2 = q.select_from(sel).filter(User.id==8).values(User.name, sel.c.name, User.name) - eq_(list(q2), [(u'ed', u'ed', u'ed')]) + eq_(list(q2), [('ed', 'ed', 'ed')]) # using User.xxx is alised against "sel", so this query returns nothing q2 = q.select_from(sel).\ @@ -1093,7 +1093,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): q2 = q.select_from(sel).\ filter(users.c.id==8).\ filter(users.c.id>sel.c.id).values(users.c.name, sel.c.name, User.name) - eq_(list(q2), [(u'ed', u'jack', u'jack')]) + eq_(list(q2), [('ed', 'jack', 'jack')]) def test_alias_naming(self): User = self.classes.User @@ -1123,10 +1123,10 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): filter(u2.id>1).\ order_by(User.id, sel.c.id, u2.id).\ values(User.name, sel.c.name, u2.name) - eq_(list(q2), [(u'jack', u'jack', u'jack'), (u'jack', u'jack', u'ed'), - (u'jack', u'jack', u'fred'), (u'jack', u'jack', u'chuck'), - (u'ed', u'ed', u'jack'), (u'ed', u'ed', u'ed'), - (u'ed', u'ed', u'fred'), (u'ed', u'ed', u'chuck')]) + eq_(list(q2), [('jack', 'jack', 'jack'), ('jack', 'jack', 'ed'), + ('jack', 'jack', 'fred'), ('jack', 'jack', 'chuck'), + ('ed', 'ed', 'jack'), ('ed', 'ed', 'ed'), + ('ed', 'ed', 'fred'), ('ed', 'ed', 'chuck')]) @testing.fails_on('mssql', 'FIXME: unknown') @testing.fails_on('oracle', @@ -1177,8 +1177,8 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): # we don't want Address to be outside of the subquery here eq_( list(sess.query(User, subq)[0:3]), - [(User(id=7,name=u'jack'), 1), (User(id=8,name=u'ed'), 3), - (User(id=9,name=u'fred'), 1)] + [(User(id=7,name='jack'), 1), (User(id=8,name='ed'), 3), + (User(id=9,name='fred'), 1)] ) # same thing without the correlate, as it should @@ -1190,8 +1190,8 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): # we don't want Address to be outside of the subquery here eq_( list(sess.query(User, subq)[0:3]), - [(User(id=7,name=u'jack'), 1), (User(id=8,name=u'ed'), 3), - (User(id=9,name=u'fred'), 1)] + [(User(id=7,name='jack'), 1), (User(id=8,name='ed'), 3), + (User(id=9,name='fred'), 1)] ) @@ -1202,23 +1202,23 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): sess = create_session() - eq_(sess.query(User.name).all(), [(u'jack',), (u'ed',), (u'fred',), (u'chuck',)]) + eq_(sess.query(User.name).all(), [('jack',), ('ed',), ('fred',), ('chuck',)]) sel = users.select(User.id.in_([7, 8])).alias() q = sess.query(User.name) q2 = q.select_from(sel).all() - eq_(list(q2), [(u'jack',), (u'ed',)]) + eq_(list(q2), [('jack',), ('ed',)]) eq_(sess.query(User.name, Address.email_address).filter(User.id==Address.user_id).all(), [ - (u'jack', u'jack@bean.com'), (u'ed', u'ed@wood.com'), - (u'ed', u'ed@bettyboop.com'), (u'ed', u'ed@lala.com'), - (u'fred', u'fred@fred.com') + ('jack', 'jack@bean.com'), ('ed', 'ed@wood.com'), + ('ed', 'ed@bettyboop.com'), ('ed', 'ed@lala.com'), + ('fred', 'fred@fred.com') ]) eq_(sess.query(User.name, func.count(Address.email_address)).\ outerjoin(User.addresses).group_by(User.id, User.name).\ order_by(User.id).all(), - [(u'jack', 1), (u'ed', 3), (u'fred', 1), (u'chuck', 0)] + [('jack', 1), ('ed', 3), ('fred', 1), ('chuck', 0)] ) eq_(sess.query(User, func.count(Address.email_address)).\ @@ -1246,8 +1246,8 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): eq_(sess.query(func.count(adalias.email_address), User).\ outerjoin(adalias, User.addresses).group_by(User).\ order_by(User.id).all(), - [(1, User(name=u'jack',id=7)), (3, User(name=u'ed',id=8)), - (1, User(name=u'fred',id=9)), (0, User(name=u'chuck',id=10))] + [(1, User(name='jack',id=7)), (3, User(name='ed',id=8)), + (1, User(name='fred',id=9)), (0, User(name='chuck',id=10))] ) # select from aliasing + explicit aliasing @@ -1257,12 +1257,12 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): from_self(User, adalias.email_address).\ order_by(User.id, adalias.id).all(), [ - (User(name=u'jack',id=7), u'jack@bean.com'), - (User(name=u'ed',id=8), u'ed@wood.com'), - (User(name=u'ed',id=8), u'ed@bettyboop.com'), - (User(name=u'ed',id=8), u'ed@lala.com'), - (User(name=u'fred',id=9), u'fred@fred.com'), - (User(name=u'chuck',id=10), None) + (User(name='jack',id=7), 'jack@bean.com'), + (User(name='ed',id=8), 'ed@wood.com'), + (User(name='ed',id=8), 'ed@bettyboop.com'), + (User(name='ed',id=8), 'ed@lala.com'), + (User(name='fred',id=9), 'fred@fred.com'), + (User(name='chuck',id=10), None) ] ) @@ -1272,8 +1272,8 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): filter(Address.email_address.like('%ed%')).\ from_self().all(), [ - User(name=u'ed',id=8), - User(name=u'fred',id=9), + User(name='ed',id=8), + User(name='fred',id=9), ] ) @@ -1293,27 +1293,27 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): q.all(), [(User(addresses=[ - Address(user_id=7,email_address=u'jack@bean.com',id=1)], - name=u'jack',id=7), u'jack@bean.com'), + Address(user_id=7,email_address='jack@bean.com',id=1)], + name='jack',id=7), 'jack@bean.com'), (User(addresses=[ - Address(user_id=8,email_address=u'ed@wood.com',id=2), - Address(user_id=8,email_address=u'ed@bettyboop.com',id=3), - Address(user_id=8,email_address=u'ed@lala.com',id=4)], - name=u'ed',id=8), u'ed@wood.com'), + Address(user_id=8,email_address='ed@wood.com',id=2), + Address(user_id=8,email_address='ed@bettyboop.com',id=3), + Address(user_id=8,email_address='ed@lala.com',id=4)], + name='ed',id=8), 'ed@wood.com'), (User(addresses=[ - Address(user_id=8,email_address=u'ed@wood.com',id=2), - Address(user_id=8,email_address=u'ed@bettyboop.com',id=3), - Address(user_id=8,email_address=u'ed@lala.com',id=4)],name=u'ed',id=8), - u'ed@bettyboop.com'), + Address(user_id=8,email_address='ed@wood.com',id=2), + Address(user_id=8,email_address='ed@bettyboop.com',id=3), + Address(user_id=8,email_address='ed@lala.com',id=4)],name='ed',id=8), + 'ed@bettyboop.com'), (User(addresses=[ - Address(user_id=8,email_address=u'ed@wood.com',id=2), - Address(user_id=8,email_address=u'ed@bettyboop.com',id=3), - Address(user_id=8,email_address=u'ed@lala.com',id=4)],name=u'ed',id=8), - u'ed@lala.com'), - (User(addresses=[Address(user_id=9,email_address=u'fred@fred.com',id=5)],name=u'fred',id=9), - u'fred@fred.com'), + Address(user_id=8,email_address='ed@wood.com',id=2), + Address(user_id=8,email_address='ed@bettyboop.com',id=3), + Address(user_id=8,email_address='ed@lala.com',id=4)],name='ed',id=8), + 'ed@lala.com'), + (User(addresses=[Address(user_id=9,email_address='fred@fred.com',id=5)],name='fred',id=9), + 'fred@fred.com'), - (User(addresses=[],name=u'chuck',id=10), None)] + (User(addresses=[],name='chuck',id=10), None)] ) def test_column_from_limited_joinedload(self): @@ -1367,19 +1367,19 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): eq_( q.all(), [ - (Order(address_id=1,description=u'order 3',isopen=1,user_id=7,id=3), - Order(address_id=1,description=u'order 1',isopen=0,user_id=7,id=1)), - (Order(address_id=None,description=u'order 5',isopen=0,user_id=7,id=5), - Order(address_id=1,description=u'order 1',isopen=0,user_id=7,id=1)), - (Order(address_id=None,description=u'order 5',isopen=0,user_id=7,id=5), - Order(address_id=1,description=u'order 3',isopen=1,user_id=7,id=3)) + (Order(address_id=1,description='order 3',isopen=1,user_id=7,id=3), + Order(address_id=1,description='order 1',isopen=0,user_id=7,id=1)), + (Order(address_id=None,description='order 5',isopen=0,user_id=7,id=5), + Order(address_id=1,description='order 1',isopen=0,user_id=7,id=1)), + (Order(address_id=None,description='order 5',isopen=0,user_id=7,id=5), + Order(address_id=1,description='order 3',isopen=1,user_id=7,id=3)) ] ) # ensure column expressions are taken from inside the subquery, not restated at the top q = sess.query(Order.id, Order.description, literal_column("'q'").label('foo')).\ - filter(Order.description == u'order 3').from_self() + filter(Order.description == 'order 3').from_self() self.assert_compile(q, "SELECT anon_1.orders_id AS " "anon_1_orders_id, anon_1.orders_descriptio" @@ -1392,7 +1392,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): "anon_1") eq_( q.all(), - [(3, u'order 3', 'q')] + [(3, 'order 3', 'q')] ) @@ -1518,7 +1518,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL): eq_( sess.query(User.id).add_column(users).all(), - [(7, 7, u'jack'), (8, 8, u'ed'), (9, 9, u'fred'), (10, 10, u'chuck')] + [(7, 7, 'jack'), (8, 8, 'ed'), (9, 9, 'fred'), (10, 10, 'chuck')] ) def test_multi_columns_2(self): @@ -1936,7 +1936,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL): filter(Keyword.name.in_(['red', 'big', 'round'])).\ all(), [ - User(name=u'jack',id=7) + User(name='jack',id=7) ]) eq_(sess.query(User).select_from(sel).\ @@ -1944,7 +1944,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL): filter(Keyword.name.in_(['red', 'big', 'round'])).\ all(), [ - User(name=u'jack',id=7) + User(name='jack',id=7) ]) def go(): @@ -1955,39 +1955,39 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL): filter(Keyword.name.in_(['red', 'big', 'round'])).\ all(), [ - User(name=u'jack',orders=[ - Order(description=u'order 1',items=[ - Item(description=u'item 1', + User(name='jack',orders=[ + Order(description='order 1',items=[ + Item(description='item 1', keywords=[ - Keyword(name=u'red'), - Keyword(name=u'big'), - Keyword(name=u'round') + Keyword(name='red'), + Keyword(name='big'), + Keyword(name='round') ]), - Item(description=u'item 2', + Item(description='item 2', keywords=[ - Keyword(name=u'red',id=2), - Keyword(name=u'small',id=5), - Keyword(name=u'square') + Keyword(name='red',id=2), + Keyword(name='small',id=5), + Keyword(name='square') ]), - Item(description=u'item 3', + Item(description='item 3', keywords=[ - Keyword(name=u'green',id=3), - Keyword(name=u'big',id=4), - Keyword(name=u'round',id=6)]) + Keyword(name='green',id=3), + Keyword(name='big',id=4), + Keyword(name='round',id=6)]) ]), - Order(description=u'order 3',items=[ - Item(description=u'item 3', + Order(description='order 3',items=[ + Item(description='item 3', keywords=[ - Keyword(name=u'green',id=3), - Keyword(name=u'big',id=4), - Keyword(name=u'round',id=6) + Keyword(name='green',id=3), + Keyword(name='big',id=4), + Keyword(name='round',id=6) ]), - Item(description=u'item 4',keywords=[],id=4), - Item(description=u'item 5',keywords=[],id=5) + Item(description='item 4',keywords=[],id=4), + Item(description='item 5',keywords=[],id=5) ]), - Order(description=u'order 5', + Order(description='order 5', items=[ - Item(description=u'item 5',keywords=[])]) + Item(description='item 5',keywords=[])]) ]) ]) self.assert_sql_count(testing.db, go, 1) @@ -1998,15 +1998,15 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL): join('items', 'keywords').\ filter(Keyword.name == 'red').\ order_by(Order.id).all(), [ - Order(description=u'order 1',id=1), - Order(description=u'order 2',id=2), + Order(description='order 1',id=1), + Order(description='order 2',id=2), ]) eq_(sess.query(Order).select_from(sel2).\ join('items', 'keywords', aliased=True).\ filter(Keyword.name == 'red').\ order_by(Order.id).all(), [ - Order(description=u'order 1',id=1), - Order(description=u'order 2',id=2), + Order(description='order 1',id=1), + Order(description='order 2',id=2), ]) diff --git a/test/orm/test_generative.py b/test/orm/test_generative.py index 3f5da69c3..84e60d8ea 100644 --- a/test/orm/test_generative.py +++ b/test/orm/test_generative.py @@ -78,13 +78,14 @@ class GenerativeQueryTest(fixtures.MappedTest): assert sess.query(func.min(foo.c.bar)).filter(foo.c.bar<30).one() == (0,) assert sess.query(func.max(foo.c.bar)).filter(foo.c.bar<30).one() == (29,) - # Py3K - #assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).__next__()[0] == 29 - #assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).__next__()[0] == 29 - # Py2K - assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).next()[0] == 29 - assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).next()[0] == 29 - # end Py2K +# start Py3K + assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).__next__()[0] == 29 + assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).__next__()[0] == 29 +# end Py3K +# start Py2K +# assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).next()[0] == 29 +# assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).next()[0] == 29 +# end Py2K @testing.fails_if(lambda:testing.against('mysql+mysqldb') and testing.db.dialect.dbapi.version_info[:4] == (1, 2, 1, 'gamma'), @@ -111,18 +112,20 @@ class GenerativeQueryTest(fixtures.MappedTest): query = create_session().query(Foo) - # Py3K - #avg_f = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).__next__()[0] - # Py2K - avg_f = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).next()[0] - # end Py2K +# start Py3K + avg_f = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).__next__()[0] +# end Py3K +# start Py2K +# avg_f = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).next()[0] +# end Py2K assert float(round(avg_f, 1)) == 14.5 - # Py3K - #avg_o = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).__next__()[0] - # Py2K - avg_o = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).next()[0] - # end Py2K +# start Py3K + avg_o = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).__next__()[0] +# end Py3K +# start Py2K +# avg_o = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).next()[0] +# end Py2K assert float(round(avg_o, 1)) == 14.5 def test_filter(self): diff --git a/test/orm/test_inspect.py b/test/orm/test_inspect.py index 2a401f91d..78d84f505 100644 --- a/test/orm/test_inspect.py +++ b/test/orm/test_inspect.py @@ -142,7 +142,7 @@ class TestORMInspection(_fixtures.FixtureTest): [insp.get_property('id'), insp.get_property('name')] ) eq_( - insp.column_attrs.keys(), + list(insp.column_attrs.keys()), ['id', 'name'] ) is_( @@ -274,7 +274,7 @@ class TestORMInspection(_fixtures.FixtureTest): insp = inspect(SomeSubClass) eq_( dict((k, v.extension_type) - for k, v in insp.all_orm_descriptors.items() + for k, v in list(insp.all_orm_descriptors.items()) ), { 'id': NOT_EXTENSION, diff --git a/test/orm/test_instrumentation.py b/test/orm/test_instrumentation.py index 3c564d910..a18f53737 100644 --- a/test/orm/test_instrumentation.py +++ b/test/orm/test_instrumentation.py @@ -522,30 +522,31 @@ class NativeInstrumentationTest(fixtures.ORMTest): class Py3KFunctionInstTest(fixtures.ORMTest): __requires__ = ("python3", ) - # Py3K - #def _kw_only_fixture(self): - # class A(object): - # def __init__(self, a, *, b, c): - # self.a = a - # self.b = b - # self.c = c - # return self._instrument(A) - # - #def _kw_plus_posn_fixture(self): - # class A(object): - # def __init__(self, a, *args, b, c): - # self.a = a - # self.b = b - # self.c = c - # return self._instrument(A) - # - #def _kw_opt_fixture(self): - # class A(object): - # def __init__(self, a, *, b, c="c"): - # self.a = a - # self.b = b - # self.c = c - # return self._instrument(A) +# start Py3K + def _kw_only_fixture(self): + class A(object): + def __init__(self, a, *, b, c): + self.a = a + self.b = b + self.c = c + return self._instrument(A) + + def _kw_plus_posn_fixture(self): + class A(object): + def __init__(self, a, *args, b, c): + self.a = a + self.b = b + self.c = c + return self._instrument(A) + + def _kw_opt_fixture(self): + class A(object): + def __init__(self, a, *, b, c="c"): + self.a = a + self.b = b + self.c = c + return self._instrument(A) +# end Py3K def _instrument(self, cls): manager = instrumentation.register_class(cls) diff --git a/test/orm/test_joins.py b/test/orm/test_joins.py index 2bf0d8d92..320104acb 100644 --- a/test/orm/test_joins.py +++ b/test/orm/test_joins.py @@ -774,14 +774,14 @@ class JoinTest(QueryTest, AssertsCompiledSQL): eq_( sess.query(User).join(Address.user).\ filter(Address.email_address=='ed@wood.com').all(), - [User(id=8,name=u'ed')] + [User(id=8,name='ed')] ) # its actually not so controversial if you view it in terms # of multiple entities. eq_( sess.query(User, Address).join(Address.user).filter(Address.email_address=='ed@wood.com').all(), - [(User(id=8,name=u'ed'), Address(email_address='ed@wood.com'))] + [(User(id=8,name='ed'), Address(email_address='ed@wood.com'))] ) # this was the controversial part. now, raise an error if the feature is abused. @@ -1162,9 +1162,9 @@ class JoinTest(QueryTest, AssertsCompiledSQL): sess.query(OrderAlias).join('items').filter_by(description='item 3').\ order_by(OrderAlias.id).all(), [ - Order(address_id=1,description=u'order 1',isopen=0,user_id=7,id=1), - Order(address_id=4,description=u'order 2',isopen=0,user_id=9,id=2), - Order(address_id=1,description=u'order 3',isopen=1,user_id=7,id=3) + Order(address_id=1,description='order 1',isopen=0,user_id=7,id=1), + Order(address_id=4,description='order 2',isopen=0,user_id=9,id=2), + Order(address_id=1,description='order 3',isopen=1,user_id=7,id=3) ] ) @@ -1175,9 +1175,9 @@ class JoinTest(QueryTest, AssertsCompiledSQL): filter_by(description='item 3').\ order_by(User.id, OrderAlias.id).all(), [ - (User(name=u'jack',id=7), Order(address_id=1,description=u'order 1',isopen=0,user_id=7,id=1), u'item 3'), - (User(name=u'jack',id=7), Order(address_id=1,description=u'order 3',isopen=1,user_id=7,id=3), u'item 3'), - (User(name=u'fred',id=9), Order(address_id=4,description=u'order 2',isopen=0,user_id=9,id=2), u'item 3') + (User(name='jack',id=7), Order(address_id=1,description='order 1',isopen=0,user_id=7,id=1), 'item 3'), + (User(name='jack',id=7), Order(address_id=1,description='order 3',isopen=1,user_id=7,id=3), 'item 3'), + (User(name='fred',id=9), Order(address_id=4,description='order 2',isopen=0,user_id=9,id=2), 'item 3') ] ) @@ -1334,12 +1334,12 @@ class JoinTest(QueryTest, AssertsCompiledSQL): eq_( sess.query(User, ualias).filter(User.id > ualias.id).order_by(desc(ualias.id), User.name).all(), [ - (User(id=10,name=u'chuck'), User(id=9,name=u'fred')), - (User(id=10,name=u'chuck'), User(id=8,name=u'ed')), - (User(id=9,name=u'fred'), User(id=8,name=u'ed')), - (User(id=10,name=u'chuck'), User(id=7,name=u'jack')), - (User(id=8,name=u'ed'), User(id=7,name=u'jack')), - (User(id=9,name=u'fred'), User(id=7,name=u'jack')) + (User(id=10,name='chuck'), User(id=9,name='fred')), + (User(id=10,name='chuck'), User(id=8,name='ed')), + (User(id=9,name='fred'), User(id=8,name='ed')), + (User(id=10,name='chuck'), User(id=7,name='jack')), + (User(id=8,name='ed'), User(id=7,name='jack')), + (User(id=9,name='fred'), User(id=7,name='jack')) ] ) @@ -1351,7 +1351,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL): eq_( sess.query(User.name).join(addresses, User.id==addresses.c.user_id).order_by(User.id).all(), - [(u'jack',), (u'ed',), (u'ed',), (u'ed',), (u'fred',)] + [('jack',), ('ed',), ('ed',), ('ed',), ('fred',)] ) def test_no_joinpoint_expr(self): @@ -2066,13 +2066,13 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL): # using 'n1.parent' implicitly joins to unaliased Node eq_( sess.query(n1).join(n1.parent).filter(Node.data=='n1').all(), - [Node(parent_id=1,data=u'n11',id=2), Node(parent_id=1,data=u'n12',id=3), Node(parent_id=1,data=u'n13',id=4)] + [Node(parent_id=1,data='n11',id=2), Node(parent_id=1,data='n12',id=3), Node(parent_id=1,data='n13',id=4)] ) # explicit (new syntax) eq_( sess.query(n1).join(Node, n1.parent).filter(Node.data=='n1').all(), - [Node(parent_id=1,data=u'n11',id=2), Node(parent_id=1,data=u'n12',id=3), Node(parent_id=1,data=u'n13',id=4)] + [Node(parent_id=1,data='n11',id=2), Node(parent_id=1,data='n12',id=3), Node(parent_id=1,data='n13',id=4)] ) diff --git a/test/orm/test_loading.py b/test/orm/test_loading.py index 20dc082c5..97c08ea29 100644 --- a/test/orm/test_loading.py +++ b/test/orm/test_loading.py @@ -73,7 +73,7 @@ class MergeResultTest(_fixtures.FixtureTest): [(x.id, y) for x, y in it], [(1, 1), (2, 2), (7, 7), (8, 8)] ) - eq_(it[0].keys(), ['User', 'id']) + eq_(list(it[0].keys()), ['User', 'id']) def test_entity_col_mix_keyed_tuple(self): s, (u1, u2, u3, u4) = self._fixture() @@ -91,7 +91,7 @@ class MergeResultTest(_fixtures.FixtureTest): [(x.id, y) for x, y in it], [(1, 1), (2, 2), (7, 7), (8, 8)] ) - eq_(it[0].keys(), ['User', 'id']) + eq_(list(it[0].keys()), ['User', 'id']) def test_none_entity(self): s, (u1, u2, u3, u4) = self._fixture() diff --git a/test/orm/test_mapper.py b/test/orm/test_mapper.py index 6b97fb135..19ff78004 100644 --- a/test/orm/test_mapper.py +++ b/test/orm/test_mapper.py @@ -272,13 +272,14 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL): ) m = mapper(Foo, foo_t) class DontCompareMeToString(int): - # Py3K - # pass - # Py2K - def __lt__(self, other): - assert not isinstance(other, basestring) - return int(self) < other - # end Py2K +# start Py3K + pass +# end Py3K +# start Py2K +# def __lt__(self, other): +# assert not isinstance(other, basestring) +# return int(self) < other +# end Py2K foos = [Foo(id='f%d' % i) for i in range(5)] states = [attributes.instance_state(f) for f in foos] @@ -847,7 +848,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL): def test_we_dont_call_bool(self): class NoBoolAllowed(object): - def __nonzero__(self): + def __bool__(self): raise Exception("nope") mapper(NoBoolAllowed, self.tables.users) u1 = NoBoolAllowed() @@ -1057,12 +1058,12 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL): eq_( create_session().query(User).all(), - [User(id=7, name=u'jack'), User(id=9, name=u'fred'), User(id=8, name=u'ed'), User(id=10, name=u'chuck')] + [User(id=7, name='jack'), User(id=9, name='fred'), User(id=8, name='ed'), User(id=10, name='chuck')] ) eq_( create_session().query(User).order_by(User.name).all(), - [User(id=10, name=u'chuck'), User(id=8, name=u'ed'), User(id=9, name=u'fred'), User(id=7, name=u'jack')] + [User(id=10, name='chuck'), User(id=8, name='ed'), User(id=9, name='fred'), User(id=7, name='jack')] ) # 'Raises a "expression evaluation not supported" error at prepare time @@ -2123,7 +2124,7 @@ class ValidatorTest(_fixtures.FixtureTest): mapper(Address, addresses) eq_( - dict((k, v[0].__name__) for k, v in u_m.validators.items()), + dict((k, v[0].__name__) for k, v in list(u_m.validators.items())), {'name':'validate_name', 'addresses':'validate_address'} ) @@ -2992,29 +2993,29 @@ class RequirementsTest(fixtures.MappedTest): Column('ht1b_id', Integer, ForeignKey('ht1.id'), primary_key=True), Column('value', String(10))) - # Py2K - def test_baseclass(self): - ht1 = self.tables.ht1 - - class OldStyle: - pass - - assert_raises(sa.exc.ArgumentError, mapper, OldStyle, ht1) - - assert_raises(sa.exc.ArgumentError, mapper, 123) - - class NoWeakrefSupport(str): - pass - - # TODO: is weakref support detectable without an instance? - #self.assertRaises(sa.exc.ArgumentError, mapper, NoWeakrefSupport, t2) - # end Py2K +# start Py2K +# def test_baseclass(self): +# ht1 = self.tables.ht1 +# +# class OldStyle: +# pass +# +# assert_raises(sa.exc.ArgumentError, mapper, OldStyle, ht1) +# +# assert_raises(sa.exc.ArgumentError, mapper, 123) +# +# class NoWeakrefSupport(str): +# pass +# +# # TODO: is weakref support detectable without an instance? +# #self.assertRaises(sa.exc.ArgumentError, mapper, NoWeakrefSupport, t2) +# end Py2K class _ValueBase(object): def __init__(self, value='abc', id=None): self.id = id self.value = value - def __nonzero__(self): + def __bool__(self): return False def __hash__(self): return hash(self.value) @@ -3173,7 +3174,7 @@ class RequirementsTest(fixtures.MappedTest): return self.value class H2(object): - def __nonzero__(self): + def __bool__(self): return bool(self.get_value()) def get_value(self): @@ -3224,7 +3225,7 @@ class IsUserlandTest(fixtures.MappedTest): self._test("someprop") def test_unicode(self): - self._test(u"someprop") + self._test("someprop") def test_int(self): self._test(5) diff --git a/test/orm/test_merge.py b/test/orm/test_merge.py index e1474f39b..494f5e349 100644 --- a/test/orm/test_merge.py +++ b/test/orm/test_merge.py @@ -346,7 +346,7 @@ class MergeTest(_fixtures.FixtureTest): sess = create_session() sess.merge(u1) sess.flush() - assert u1.addresses.keys() == ['foo@bar.com'] + assert list(u1.addresses.keys()) == ['foo@bar.com'] def test_attribute_cascade(self): """Merge of a persistent entity with two child @@ -803,7 +803,7 @@ class MergeTest(_fixtures.FixtureTest): try: sess2.merge(u, load=False) assert False - except sa.exc.InvalidRequestError, e: + except sa.exc.InvalidRequestError as e: assert "merge() with load=False option does not support "\ "objects marked as 'dirty'. flush() all changes on "\ "mapped instances before merging with load=False." \ @@ -924,7 +924,7 @@ class MergeTest(_fixtures.FixtureTest): sess2.expunge_all() eq_(sess2.query(User).get(u2.id).addresses[0].email_address, 'somenewaddress') - except sa.exc.InvalidRequestError, e: + except sa.exc.InvalidRequestError as e: assert "load=False option does not support" in str(e) def test_synonym_comparable(self): diff --git a/test/orm/test_naturalpks.py b/test/orm/test_naturalpks.py index d30cdc598..7a636a5a9 100644 --- a/test/orm/test_naturalpks.py +++ b/test/orm/test_naturalpks.py @@ -2,7 +2,7 @@ Primary key changing capabilities and passive/non-passive cascading updates. """ -from __future__ import with_statement + from sqlalchemy.testing import eq_, ne_, \ assert_raises, assert_raises_message import sqlalchemy as sa @@ -519,11 +519,11 @@ class ReversePKsTest(fixtures.MappedTest): session = sa.orm.sessionmaker()() - a_published = User(1, PUBLISHED, u'a') + a_published = User(1, PUBLISHED, 'a') session.add(a_published) session.commit() - a_editable = User(1, EDITABLE, u'a') + a_editable = User(1, EDITABLE, 'a') session.add(a_editable) session.commit() diff --git a/test/orm/test_pickled.py b/test/orm/test_pickled.py index 5ac34f914..b54af93f2 100644 --- a/test/orm/test_pickled.py +++ b/test/orm/test_pickled.py @@ -443,21 +443,21 @@ class TupleLabelTest(_fixtures.FixtureTest): if pickled is not False: row = pickle.loads(pickle.dumps(row, pickled)) - eq_(row.keys(), ['User', 'Address']) + eq_(list(row.keys()), ['User', 'Address']) eq_(row.User, row[0]) eq_(row.Address, row[1]) for row in sess.query(User.name, User.id.label('foobar')): if pickled is not False: row = pickle.loads(pickle.dumps(row, pickled)) - eq_(row.keys(), ['name', 'foobar']) + eq_(list(row.keys()), ['name', 'foobar']) eq_(row.name, row[0]) eq_(row.foobar, row[1]) for row in sess.query(User).values(User.name, User.id.label('foobar')): if pickled is not False: row = pickle.loads(pickle.dumps(row, pickled)) - eq_(row.keys(), ['name', 'foobar']) + eq_(list(row.keys()), ['name', 'foobar']) eq_(row.name, row[0]) eq_(row.foobar, row[1]) @@ -465,21 +465,21 @@ class TupleLabelTest(_fixtures.FixtureTest): for row in sess.query(User, oalias).join(User.orders).all(): if pickled is not False: row = pickle.loads(pickle.dumps(row, pickled)) - eq_(row.keys(), ['User']) + eq_(list(row.keys()), ['User']) eq_(row.User, row[0]) oalias = aliased(Order, name='orders') for row in sess.query(User, oalias).join(oalias, User.orders).all(): if pickled is not False: row = pickle.loads(pickle.dumps(row, pickled)) - eq_(row.keys(), ['User', 'orders']) + eq_(list(row.keys()), ['User', 'orders']) eq_(row.User, row[0]) eq_(row.orders, row[1]) # test here that first col is not labeled, only # one name in keys, matches correctly for row in sess.query(User.name + 'hoho', User.name): - eq_(row.keys(), ['name']) + eq_(list(row.keys()), ['name']) eq_(row[0], row.name + 'hoho') if pickled is not False: diff --git a/test/orm/test_query.py b/test/orm/test_query.py index 3882ec4b5..2e0355e63 100644 --- a/test/orm/test_query.py +++ b/test/orm/test_query.py @@ -407,11 +407,12 @@ class GetTest(QueryTest): Column('data', Unicode(40))) try: metadata.create_all() - # Py3K - #ustring = b'petit voix m\xe2\x80\x99a'.decode('utf-8') - # Py2K - ustring = 'petit voix m\xe2\x80\x99a'.decode('utf-8') - # end Py2K +# start Py3K + ustring = b'petit voix m\xe2\x80\x99a'.decode('utf-8') +# end Py3K +# start Py2K +# ustring = 'petit voix m\xe2\x80\x99a'.decode('utf-8') +# end Py2K table.insert().execute(id=ustring, data=ustring) class LocalFoo(self.classes.Base): @@ -637,9 +638,9 @@ class OperatorTest(QueryTest, AssertsCompiledSQL): (operator.sub, '-'), # Py3k #(operator.truediv, '/'), - # Py2K - (operator.div, '/'), - # end Py2K +# start Py2K +# (operator.div, '/'), +# end Py2K ): for (lhs, rhs, res) in ( (5, User.id, ':id_1 %s users.id'), @@ -1047,7 +1048,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL): adalias = aliased(Address, q1.subquery()) eq_( s.query(User, adalias).join(adalias, User.id==adalias.user_id).all(), - [(User(id=7,name=u'jack'), Address(email_address=u'jack@bean.com',user_id=7,id=1))] + [(User(id=7,name='jack'), Address(email_address='jack@bean.com',user_id=7,id=1))] ) # more slice tests are available in test/orm/generative.py @@ -1196,7 +1197,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL): "users.name AS users_name FROM users WHERE users.id = :param_1 " "UNION SELECT users.id AS users_id, users.name AS users_name " "FROM users WHERE users.id = :param_2) AS anon_1", - checkparams = {u'param_1': 7, u'param_2': 8} + checkparams = {'param_1': 7, 'param_2': 8} ) def test_any(self): @@ -1319,7 +1320,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL): "FROM users JOIN addresses ON users.id = addresses.user_id " "WHERE users.name = :name_1 AND " "addresses.email_address = :email_address_1", - checkparams={u'email_address_1': 'ed@ed.com', u'name_1': 'ed'} + checkparams={'email_address_1': 'ed@ed.com', 'name_1': 'ed'} ) def test_filter_by_no_property(self): @@ -1468,14 +1469,14 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL): for q in (q3.order_by(User.id, "anon_1_param_1"), q6.order_by(User.id, "foo")): eq_(q.all(), [ - (User(id=7, name=u'jack'), u'x'), - (User(id=7, name=u'jack'), u'y'), - (User(id=8, name=u'ed'), u'x'), - (User(id=8, name=u'ed'), u'y'), - (User(id=9, name=u'fred'), u'x'), - (User(id=9, name=u'fred'), u'y'), - (User(id=10, name=u'chuck'), u'x'), - (User(id=10, name=u'chuck'), u'y') + (User(id=7, name='jack'), 'x'), + (User(id=7, name='jack'), 'y'), + (User(id=8, name='ed'), 'x'), + (User(id=8, name='ed'), 'y'), + (User(id=9, name='fred'), 'x'), + (User(id=9, name='fred'), 'y'), + (User(id=10, name='chuck'), 'x'), + (User(id=10, name='chuck'), 'y') ] ) @@ -1603,7 +1604,7 @@ class AggregateTest(QueryTest): sess = create_session() orders = sess.query(Order).filter(Order.id.in_([2, 3, 4])) - eq_(orders.values(func.sum(Order.user_id * Order.address_id)).next(), (79,)) + eq_(next(orders.values(func.sum(Order.user_id * Order.address_id))), (79,)) eq_(orders.value(func.sum(Order.user_id * Order.address_id)), 79) def test_apply(self): @@ -1616,9 +1617,9 @@ class AggregateTest(QueryTest): User, Address = self.classes.User, self.classes.Address sess = create_session() - assert [User(name=u'ed',id=8)] == sess.query(User).order_by(User.id).group_by(User).join('addresses').having(func.count(Address.id)> 2).all() + assert [User(name='ed',id=8)] == sess.query(User).order_by(User.id).group_by(User).join('addresses').having(func.count(Address.id)> 2).all() - assert [User(name=u'jack',id=7), User(name=u'fred',id=9)] == sess.query(User).order_by(User.id).group_by(User).join('addresses').having(func.count(Address.id)< 2).all() + assert [User(name='jack',id=7), User(name='fred',id=9)] == sess.query(User).order_by(User.id).group_by(User).join('addresses').having(func.count(Address.id)< 2).all() class ExistsTest(QueryTest, AssertsCompiledSQL): @@ -1798,14 +1799,14 @@ class YieldTest(QueryTest): ret = [] eq_(len(sess.identity_map), 0) - ret.append(q.next()) - ret.append(q.next()) + ret.append(next(q)) + ret.append(next(q)) eq_(len(sess.identity_map), 2) - ret.append(q.next()) - ret.append(q.next()) + ret.append(next(q)) + ret.append(next(q)) eq_(len(sess.identity_map), 4) try: - q.next() + next(q) assert False except StopIteration: pass @@ -1915,7 +1916,7 @@ class TextTest(QueryTest): User.id, text("users.name")) eq_(s.query(User.id, "name").order_by(User.id).all(), - [(7, u'jack'), (8, u'ed'), (9, u'fred'), (10, u'chuck')]) + [(7, 'jack'), (8, 'ed'), (9, 'fred'), (10, 'chuck')]) def test_via_select(self): User = self.classes.User @@ -1973,7 +1974,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL): try: q = sess.query(Item).with_parent(u1) assert False - except sa_exc.InvalidRequestError, e: + except sa_exc.InvalidRequestError as e: assert str(e) \ == "Could not locate a property which relates "\ "instances of class 'Item' to instances of class 'User'" @@ -2058,7 +2059,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL): "addresses.id AS addresses_id, addresses.user_id AS " "addresses_user_id, addresses.email_address AS addresses_email_address " "FROM addresses WHERE :param_2 = addresses.user_id) AS anon_1", - checkparams={u'param_1': 7, u'param_2': 8}, + checkparams={'param_1': 7, 'param_2': 8}, ) def test_unique_binds_or(self): @@ -2075,7 +2076,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL): "addresses_user_id, addresses.email_address AS " "addresses_email_address FROM addresses WHERE " ":param_1 = addresses.user_id OR :param_2 = addresses.user_id", - checkparams={u'param_1': 7, u'param_2': 8}, + checkparams={'param_1': 7, 'param_2': 8}, ) class SynonymTest(QueryTest): @@ -2117,9 +2118,9 @@ class SynonymTest(QueryTest): options(joinedload(User.orders_syn)).all() eq_(result, [ User(id=7, name='jack', orders=[ - Order(description=u'order 1'), - Order(description=u'order 3'), - Order(description=u'order 5') + Order(description='order 1'), + Order(description='order 3'), + Order(description='order 5') ]) ]) self.assert_sql_count(testing.db, go, 1) @@ -2133,9 +2134,9 @@ class SynonymTest(QueryTest): options(joinedload(User.orders_syn_2)).all() eq_(result, [ User(id=7, name='jack', orders=[ - Order(description=u'order 1'), - Order(description=u'order 3'), - Order(description=u'order 5') + Order(description='order 1'), + Order(description='order 3'), + Order(description='order 5') ]) ]) self.assert_sql_count(testing.db, go, 1) @@ -2149,9 +2150,9 @@ class SynonymTest(QueryTest): options(joinedload('orders_syn_2')).all() eq_(result, [ User(id=7, name='jack', orders=[ - Order(description=u'order 1'), - Order(description=u'order 3'), - Order(description=u'order 5') + Order(description='order 1'), + Order(description='order 3'), + Order(description='order 5') ]) ]) self.assert_sql_count(testing.db, go, 1) @@ -2355,7 +2356,7 @@ class OptionsTest(QueryTest): if isinstance(item, type): item = class_mapper(item) else: - if isinstance(item, basestring): + if isinstance(item, str): item = inspect(r[-1]).mapper.attrs[item] r.append(item) return tuple(r) diff --git a/test/orm/test_relationships.py b/test/orm/test_relationships.py index e5789eb7c..124202dcc 100644 --- a/test/orm/test_relationships.py +++ b/test/orm/test_relationships.py @@ -426,13 +426,13 @@ class CompositeSelfRefFKTest(fixtures.MappedTest): c1 = Company('c1') c2 = Company('c2') - e1 = Employee(u'emp1', c1, 1) - e2 = Employee(u'emp2', c1, 2, e1) - e3 = Employee(u'emp3', c1, 3, e1) - e4 = Employee(u'emp4', c1, 4, e3) - e5 = Employee(u'emp5', c2, 1) - e6 = Employee(u'emp6', c2, 2, e5) - e7 = Employee(u'emp7', c2, 3, e5) + e1 = Employee('emp1', c1, 1) + e2 = Employee('emp2', c1, 2, e1) + e3 = Employee('emp3', c1, 3, e1) + e4 = Employee('emp4', c1, 4, e3) + e5 = Employee('emp5', c2, 1) + e6 = Employee('emp6', c2, 2, e5) + e7 = Employee('emp7', c2, 3, e5) sess.add_all((c1, c2)) sess.commit() @@ -642,7 +642,7 @@ class FKsAsPksTest(fixtures.MappedTest): try: sess.flush() assert False - except AssertionError, e: + except AssertionError as e: startswith_(str(e), "Dependency rule tried to blank-out " "primary key column 'tableB.id' on instance ") @@ -667,7 +667,7 @@ class FKsAsPksTest(fixtures.MappedTest): try: sess.flush() assert False - except AssertionError, e: + except AssertionError as e: startswith_(str(e), "Dependency rule tried to blank-out " "primary key column 'tableB.id' on instance ") @@ -1106,9 +1106,9 @@ class AmbiguousJoinInterpretedAsSelfRef(fixtures.MappedTest): eq_( sess.query(Subscriber).order_by(Subscriber.type).all(), [ - Subscriber(id=1, type=u'A'), - Subscriber(id=2, type=u'B'), - Subscriber(id=2, type=u'C') + Subscriber(id=1, type='A'), + Subscriber(id=2, type='B'), + Subscriber(id=2, type='C') ] ) @@ -1365,7 +1365,7 @@ class TypeMatchTest(fixtures.MappedTest): try: sess.add(a1) assert False - except AssertionError, err: + except AssertionError as err: eq_(str(err), "Attribute 'bs' on class '%s' doesn't handle " "objects of type '%s'" % (A, C)) diff --git a/test/orm/test_session.py b/test/orm/test_session.py index 7c2e8a3b8..45164483b 100644 --- a/test/orm/test_session.py +++ b/test/orm/test_session.py @@ -232,7 +232,7 @@ class ExecutionTest(_fixtures.FixtureTest): # use :bindparam style eq_(sess.execute("select * from users where id=:id", {'id': 7}).fetchall(), - [(7, u'jack')]) + [(7, 'jack')]) # use :bindparam style @@ -733,7 +733,7 @@ class SessionStateTest(_fixtures.FixtureTest): # withstand a change? should this be # more directly attempting to manipulate the identity_map ? u1, u2, u3 = sess.query(User).all() - for i, (key, value) in enumerate(sess.identity_map.iteritems()): + for i, (key, value) in enumerate(iter(sess.identity_map.items())): if i == 2: del u3 gc_collect() @@ -747,7 +747,7 @@ class SessionStateTest(_fixtures.FixtureTest): @event.listens_for(m, "after_update") def e(mapper, conn, target): sess = object_session(target) - for entry in sess.identity_map.values(): + for entry in list(sess.identity_map.values()): entry.name = "5" a1, a2 = User(name="1"), User(name="2") @@ -845,7 +845,7 @@ class SessionStateWFixtureTest(_fixtures.FixtureTest): u = session.query(User).filter_by(id=7).one() # get everything to load in both directions - print [a.user for a in u.addresses] + print([a.user for a in u.addresses]) # then see if expunge fails session.expunge(u) @@ -1187,7 +1187,7 @@ class StrongIdentityMapTest(_fixtures.FixtureTest): s.flush() user = s.query(User).one() user = None - print s.identity_map + print(s.identity_map) gc_collect() assert len(s.identity_map) == 1 @@ -1207,7 +1207,7 @@ class StrongIdentityMapTest(_fixtures.FixtureTest): s = create_session(weak_identity_map=False) mapper(User, users) - for o in [User(name='u%s' % x) for x in xrange(10)]: + for o in [User(name='u%s' % x) for x in range(10)]: s.add(o) # o is still live after this loop... diff --git a/test/orm/test_subquery_relations.py b/test/orm/test_subquery_relations.py index 3ee94cae9..d493e0b7e 100644 --- a/test/orm/test_subquery_relations.py +++ b/test/orm/test_subquery_relations.py @@ -1552,9 +1552,9 @@ class CyclicalInheritingEagerTestTwo(fixtures.DeclarativeMappedTest, Movie = self.classes.Movie session = Session(testing.db) - rscott = Director(name=u"Ridley Scott") - alien = Movie(title=u"Alien") - brunner = Movie(title=u"Blade Runner") + rscott = Director(name="Ridley Scott") + alien = Movie(title="Alien") + brunner = Movie(title="Blade Runner") rscott.movies.append(brunner) rscott.movies.append(alien) session.add_all([rscott, alien, brunner]) diff --git a/test/orm/test_unitofwork.py b/test/orm/test_unitofwork.py index 6be1672e1..1675ed60f 100644 --- a/test/orm/test_unitofwork.py +++ b/test/orm/test_unitofwork.py @@ -87,7 +87,7 @@ class UnicodeTest(fixtures.MappedTest): mapper(Test, uni_t1) - txt = u"\u0160\u0110\u0106\u010c\u017d" + txt = "\u0160\u0110\u0106\u010c\u017d" t1 = Test(id=1, txt=txt) self.assert_(t1.txt == txt) @@ -107,7 +107,7 @@ class UnicodeTest(fixtures.MappedTest): 't2s': relationship(Test2)}) mapper(Test2, uni_t2) - txt = u"\u0160\u0110\u0106\u010c\u017d" + txt = "\u0160\u0110\u0106\u010c\u017d" t1 = Test(txt=txt) t1.t2s.append(Test2()) t1.t2s.append(Test2()) @@ -132,16 +132,16 @@ class UnicodeSchemaTest(fixtures.MappedTest): @classmethod def define_tables(cls, metadata): t1 = Table('unitable1', metadata, - Column(u'méil', Integer, primary_key=True, key='a', test_needs_autoincrement=True), - Column(u'\u6e2c\u8a66', Integer, key='b'), + Column('méil', Integer, primary_key=True, key='a', test_needs_autoincrement=True), + Column('\u6e2c\u8a66', Integer, key='b'), Column('type', String(20)), test_needs_fk=True, test_needs_autoincrement=True) - t2 = Table(u'Unitéble2', metadata, - Column(u'méil', Integer, primary_key=True, key="cc", test_needs_autoincrement=True), - Column(u'\u6e2c\u8a66', Integer, - ForeignKey(u'unitable1.a'), key="d"), - Column(u'\u6e2c\u8a66_2', Integer, key="e"), + t2 = Table('Unitéble2', metadata, + Column('méil', Integer, primary_key=True, key="cc", test_needs_autoincrement=True), + Column('\u6e2c\u8a66', Integer, + ForeignKey('unitable1.a'), key="d"), + Column('\u6e2c\u8a66_2', Integer, key="e"), test_needs_fk=True, test_needs_autoincrement=True) @@ -238,11 +238,12 @@ class BinaryHistTest(fixtures.MappedTest, testing.AssertsExecutionResults): Foo, t1 = self.classes.Foo, self.tables.t1 - # Py3K - #data = b"this is some data" - # Py2K - data = "this is some data" - # end Py2K +# start Py3K + data = b"this is some data" +# end Py3K +# start Py2K +# data = "this is some data" +# end Py2K mapper(Foo, t1) @@ -1054,13 +1055,13 @@ class OneToManyTest(_fixtures.FixtureTest): session.flush() user_rows = users.select(users.c.id.in_([u.id])).execute().fetchall() - eq_(user_rows[0].values(), [u.id, 'one2manytester']) + eq_(list(user_rows[0].values()), [u.id, 'one2manytester']) address_rows = addresses.select( addresses.c.id.in_([a.id, a2.id]), order_by=[addresses.c.email_address]).execute().fetchall() - eq_(address_rows[0].values(), [a2.id, u.id, 'lala@test.org']) - eq_(address_rows[1].values(), [a.id, u.id, 'one2many@test.org']) + eq_(list(address_rows[0].values()), [a2.id, u.id, 'lala@test.org']) + eq_(list(address_rows[1].values()), [a.id, u.id, 'one2many@test.org']) userid = u.id addressid = a2.id @@ -1071,7 +1072,7 @@ class OneToManyTest(_fixtures.FixtureTest): address_rows = addresses.select( addresses.c.id == addressid).execute().fetchall() - eq_(address_rows[0].values(), + eq_(list(address_rows[0].values()), [addressid, userid, 'somethingnew@foo.com']) self.assert_(u.id == userid and a2.id == addressid) @@ -1501,18 +1502,18 @@ class SaveTest(_fixtures.FixtureTest): assert u.name == 'multitester' user_rows = users.select(users.c.id.in_([u.foo_id])).execute().fetchall() - eq_(user_rows[0].values(), [u.foo_id, 'multitester']) + eq_(list(user_rows[0].values()), [u.foo_id, 'multitester']) address_rows = addresses.select(addresses.c.id.in_([u.id])).execute().fetchall() - eq_(address_rows[0].values(), [u.id, u.foo_id, 'multi@test.org']) + eq_(list(address_rows[0].values()), [u.id, u.foo_id, 'multi@test.org']) u.email = 'lala@hey.com' u.name = 'imnew' session.flush() user_rows = users.select(users.c.id.in_([u.foo_id])).execute().fetchall() - eq_(user_rows[0].values(), [u.foo_id, 'imnew']) + eq_(list(user_rows[0].values()), [u.foo_id, 'imnew']) address_rows = addresses.select(addresses.c.id.in_([u.id])).execute().fetchall() - eq_(address_rows[0].values(), [u.id, u.foo_id, 'lala@hey.com']) + eq_(list(address_rows[0].values()), [u.id, u.foo_id, 'lala@hey.com']) session.expunge_all() u = session.query(User).get(id) @@ -1650,7 +1651,7 @@ class ManyToOneTest(_fixtures.FixtureTest): l = sa.select([users, addresses], sa.and_(users.c.id==addresses.c.user_id, addresses.c.id==a.id)).execute() - eq_(l.first().values(), + eq_(list(l.first().values()), [a.user.id, 'asdf8d', a.id, a.user_id, 'theater@foo.com']) def test_many_to_one_1(self): @@ -2127,7 +2128,7 @@ class SaveTest3(fixtures.MappedTest): assert assoc.count().scalar() == 2 i.keywords = [] - print i.keywords + print(i.keywords) session.flush() assert assoc.count().scalar() == 0 diff --git a/test/orm/test_unitofworkv2.py b/test/orm/test_unitofworkv2.py index 7c7337c62..34648c256 100644 --- a/test/orm/test_unitofworkv2.py +++ b/test/orm/test_unitofworkv2.py @@ -26,7 +26,7 @@ class AssertsUOW(object): def _assert_uow_size(self, session, expected ): uow = self._get_test_uow(session) postsort_actions = uow._generate_actions() - print postsort_actions + print(postsort_actions) eq_(len(postsort_actions), expected, postsort_actions) class UOWTest(_fixtures.FixtureTest, @@ -125,12 +125,12 @@ class RudimentaryFlushTest(UOWTest): CompiledSQL( "UPDATE addresses SET user_id=:user_id WHERE " "addresses.id = :addresses_id", - lambda ctx: [{u'addresses_id': a1.id, 'user_id': None}] + lambda ctx: [{'addresses_id': a1.id, 'user_id': None}] ), CompiledSQL( "UPDATE addresses SET user_id=:user_id WHERE " "addresses.id = :addresses_id", - lambda ctx: [{u'addresses_id': a2.id, 'user_id': None}] + lambda ctx: [{'addresses_id': a2.id, 'user_id': None}] ), CompiledSQL( "DELETE FROM users WHERE users.id = :id", @@ -235,12 +235,12 @@ class RudimentaryFlushTest(UOWTest): CompiledSQL( "UPDATE addresses SET user_id=:user_id WHERE " "addresses.id = :addresses_id", - lambda ctx: [{u'addresses_id': a1.id, 'user_id': None}] + lambda ctx: [{'addresses_id': a1.id, 'user_id': None}] ), CompiledSQL( "UPDATE addresses SET user_id=:user_id WHERE " "addresses.id = :addresses_id", - lambda ctx: [{u'addresses_id': a2.id, 'user_id': None}] + lambda ctx: [{'addresses_id': a2.id, 'user_id': None}] ), CompiledSQL( "DELETE FROM users WHERE users.id = :id", @@ -1149,7 +1149,7 @@ class SingleCycleM2MTest(fixtures.MappedTest, "nodes, node_to_nodes WHERE :param_1 = " "node_to_nodes.right_node_id AND nodes.id = " "node_to_nodes.left_node_id" , - lambda ctx:{u'param_1': n1.id}, + lambda ctx:{'param_1': n1.id}, ), CompiledSQL( "DELETE FROM node_to_nodes WHERE " diff --git a/test/orm/test_update_delete.py b/test/orm/test_update_delete.py index 65d69538e..6915ac8a2 100644 --- a/test/orm/test_update_delete.py +++ b/test/orm/test_update_delete.py @@ -188,22 +188,22 @@ class UpdateDeleteTest(fixtures.MappedTest): update({'age': User.age - 10}, synchronize_session='evaluate') eq_([john.age, jack.age, jill.age, jane.age], [25,37,29,27]) - eq_(sess.query(User.age).order_by(User.id).all(), zip([25,37,29,27])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([25,37,29,27]))) sess.query(User).filter(User.age > 29).\ update({User.age: User.age - 10}, synchronize_session='evaluate') eq_([john.age, jack.age, jill.age, jane.age], [25,27,29,27]) - eq_(sess.query(User.age).order_by(User.id).all(), zip([25,27,29,27])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([25,27,29,27]))) sess.query(User).filter(User.age > 27).\ update({users.c.age: User.age - 10}, synchronize_session='evaluate') eq_([john.age, jack.age, jill.age, jane.age], [25,27,19,27]) - eq_(sess.query(User.age).order_by(User.id).all(), zip([25,27,19,27])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([25,27,19,27]))) sess.query(User).filter(User.age == 25).\ update({User.age: User.age - 10}, synchronize_session='fetch') eq_([john.age, jack.age, jill.age, jane.age], [15,27,19,27]) - eq_(sess.query(User.age).order_by(User.id).all(), zip([15,27,19,27])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([15,27,19,27]))) def test_update_against_metadata(self): User, users = self.classes.User, self.tables.users @@ -211,7 +211,7 @@ class UpdateDeleteTest(fixtures.MappedTest): sess = Session() sess.query(users).update({users.c.age: 29}, synchronize_session=False) - eq_(sess.query(User.age).order_by(User.id).all(), zip([29,29,29,29])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([29,29,29,29]))) def test_update_with_bindparams(self): User = self.classes.User @@ -224,7 +224,7 @@ class UpdateDeleteTest(fixtures.MappedTest): update({'age': User.age - 10}, synchronize_session='fetch') eq_([john.age, jack.age, jill.age, jane.age], [25,37,29,27]) - eq_(sess.query(User.age).order_by(User.id).all(), zip([25,37,29,27])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([25,37,29,27]))) def test_update_without_load(self): User = self.classes.User @@ -233,7 +233,7 @@ class UpdateDeleteTest(fixtures.MappedTest): sess.query(User).filter(User.id == 3).\ update({'age': 44}, synchronize_session='fetch') - eq_(sess.query(User.age).order_by(User.id).all(), zip([25,47,44,37])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([25,47,44,37]))) def test_update_changes_resets_dirty(self): User = self.classes.User @@ -300,7 +300,7 @@ class UpdateDeleteTest(fixtures.MappedTest): update({'age': User.age - 10}, synchronize_session='fetch') eq_([john.age, jack.age, jill.age, jane.age], [25,37,29,27]) - eq_(sess.query(User.age).order_by(User.id).all(), zip([25,37,29,27])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([25,37,29,27]))) @testing.fails_if(lambda: not testing.db.dialect.supports_sane_rowcount) def test_update_returns_rowcount(self): @@ -334,7 +334,7 @@ class UpdateDeleteTest(fixtures.MappedTest): sess.query(User).update({'age': 42}, synchronize_session='evaluate') eq_([john.age, jack.age, jill.age, jane.age], [42,42,42,42]) - eq_(sess.query(User.age).order_by(User.id).all(), zip([42,42,42,42])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([42,42,42,42]))) def test_delete_all(self): User = self.classes.User @@ -516,7 +516,7 @@ class UpdateDeleteIgnoresLoadersTest(fixtures.MappedTest): eq_([foo.title, bar.title, baz.title], ['foofoo','barbar', 'baz']) eq_(sess.query(Document.title).order_by(Document.id).all(), - zip(['foofoo','barbar', 'baz'])) + list(zip(['foofoo','barbar', 'baz']))) def test_update_with_explicit_joinedload(self): User = self.classes.User @@ -528,7 +528,7 @@ class UpdateDeleteIgnoresLoadersTest(fixtures.MappedTest): update({'age': User.age - 10}, synchronize_session='fetch') eq_([john.age, jack.age, jill.age, jane.age], [25,37,29,27]) - eq_(sess.query(User.age).order_by(User.id).all(), zip([25,37,29,27])) + eq_(sess.query(User.age).order_by(User.id).all(), list(zip([25,37,29,27]))) def test_delete_with_eager_relationships(self): Document = self.classes.Document @@ -538,7 +538,7 @@ class UpdateDeleteIgnoresLoadersTest(fixtures.MappedTest): sess.query(Document).filter(Document.user_id == 1).\ delete(synchronize_session=False) - eq_(sess.query(Document.title).all(), zip(['baz'])) + eq_(sess.query(Document.title).all(), list(zip(['baz']))) class UpdateDeleteFromTest(fixtures.MappedTest): @classmethod diff --git a/test/orm/test_utils.py b/test/orm/test_utils.py index b2853a8b8..e0059eef9 100644 --- a/test/orm/test_utils.py +++ b/test/orm/test_utils.py @@ -52,10 +52,10 @@ class AliasedClassTest(fixtures.TestBase): alias = aliased(Point) assert Point.zero - # Py2K - # TODO: what is this testing ?? - assert not getattr(alias, 'zero') - # end Py2K +# start Py2K +# # TODO: what is this testing ?? +# assert not getattr(alias, 'zero') +# end Py2K def test_classmethods(self): class Point(object): @@ -123,17 +123,19 @@ class AliasedClassTest(fixtures.TestBase): self.func = func def __get__(self, instance, owner): if instance is None: - # Py3K - #args = (self.func, owner) - # Py2K - args = (self.func, owner, owner.__class__) - # end Py2K +# start Py3K + args = (self.func, owner) +# end Py3K +# start Py2K +# args = (self.func, owner, owner.__class__) +# end Py2K else: - # Py3K - #args = (self.func, instance) - # Py2K - args = (self.func, instance, owner) - # end Py2K +# start Py3K + args = (self.func, instance) +# end Py3K +# start Py2K +# args = (self.func, instance, owner) +# end Py2K return types.MethodType(*args) class PropertyDescriptor(object): diff --git a/test/perf/insertspeed.py b/test/perf/insertspeed.py index 03d2c4144..88e73fef9 100644 --- a/test/perf/insertspeed.py +++ b/test/perf/insertspeed.py @@ -13,18 +13,18 @@ Person_table = Table('Person', metadata, def sa_unprofiled_insertmany(n): i = Person_table.insert() - i.execute([{'name':'John Doe','sex':1,'age':35} for j in xrange(n)]) + i.execute([{'name':'John Doe','sex':1,'age':35} for j in range(n)]) def sqlite_unprofiled_insertmany(n): conn = db.connect().connection c = conn.cursor() - persons = [('john doe', 1, 35) for i in xrange(n)] + persons = [('john doe', 1, 35) for i in range(n)] c.executemany("insert into Person(name, sex, age) values (?,?,?)", persons) @profiling.profiled('sa_profiled_insert_many', always=True) def sa_profiled_insert_many(n): i = Person_table.insert() - i.execute([{'name':'John Doe','sex':1,'age':35} for j in xrange(n)]) + i.execute([{'name':'John Doe','sex':1,'age':35} for j in range(n)]) s = Person_table.select() r = s.execute() res = [[value for value in row] for row in r.fetchall()] @@ -32,7 +32,7 @@ def sa_profiled_insert_many(n): def sqlite_unprofiled_insert(n): conn = db.connect().connection c = conn.cursor() - for j in xrange(n): + for j in range(n): c.execute("insert into Person(name, sex, age) values (?,?,?)", ('john doe', 1, 35)) @@ -40,13 +40,13 @@ def sa_unprofiled_insert(n): # Another option is to build Person_table.insert() outside of the # loop. But it doesn't make much of a difference, so might as well # use the worst-case/naive version here. - for j in xrange(n): + for j in range(n): Person_table.insert().execute({'name':'John Doe','sex':1,'age':35}) @profiling.profiled('sa_profiled_insert', always=True) def sa_profiled_insert(n): i = Person_table.insert() - for j in xrange(n): + for j in range(n): i.execute({'name':'John Doe','sex':1,'age':35}) s = Person_table.select() r = s.execute() @@ -69,12 +69,12 @@ def run_profiled(fn, label, *args, **kw): metadata.drop_all() metadata.create_all() - print "%s (%s)" % (label, ', '.join([str(a) for a in args])) + print("%s (%s)" % (label, ', '.join([str(a) for a in args]))) fn(*args, **kw) def all(): try: - print "Bulk INSERTS via executemany():\n" + print("Bulk INSERTS via executemany():\n") run_timed(sqlite_unprofiled_insertmany, 'pysqlite bulk insert', @@ -88,7 +88,7 @@ def all(): 'SQLAlchemy bulk insert/select, profiled', 50000) - print "\nIndividual INSERTS via execute():\n" + print("\nIndividual INSERTS via execute():\n") run_timed(sqlite_unprofiled_insert, "pysqlite individual insert", diff --git a/test/perf/objselectspeed.py b/test/perf/objselectspeed.py index c0ed88444..dc790ab17 100644 --- a/test/perf/objselectspeed.py +++ b/test/perf/objselectspeed.py @@ -36,7 +36,7 @@ def setup(): metadata.create_all() i = Person_table.insert() data = [{'name':'John Doe','sex':1,'age':35, 'type':'employee'}] * 100 - for j in xrange(500): + for j in range(500): i.execute(data) # note we arent fetching from employee_table, @@ -46,7 +46,7 @@ def setup(): #for j in xrange(500): # i.execute(data) - print "Inserted 50,000 rows" + print("Inserted 50,000 rows") def sqlite_select(entity_cls): conn = db.connect().connection @@ -89,10 +89,10 @@ def all(): t, t2 = 0, 0 def usage(label): now = resource.getrusage(resource.RUSAGE_SELF) - print "%s: %0.3fs real, %0.3fs user, %0.3fs sys" % ( + print("%s: %0.3fs real, %0.3fs user, %0.3fs sys" % ( label, t2 - t, now.ru_utime - usage.last.ru_utime, - now.ru_stime - usage.last.ru_stime) + now.ru_stime - usage.last.ru_stime)) usage.snap(now) usage.snap = lambda stats=None: setattr( usage, 'last', stats or resource.getrusage(resource.RUSAGE_SELF)) diff --git a/test/perf/objupdatespeed.py b/test/perf/objupdatespeed.py index 98d10180e..95a5fbc9b 100644 --- a/test/perf/objupdatespeed.py +++ b/test/perf/objupdatespeed.py @@ -39,12 +39,12 @@ def setup(): i.execute(data) i = Email_table.insert() - for j in xrange(1, NUM + 1): + for j in range(1, NUM + 1): i.execute(address='foo@bar', person_id=j) if j % 2: i.execute(address='baz@quux', person_id=j) - print "Inserted %d rows." % (NUM + NUM + (NUM // 2)) + print("Inserted %d rows." % (NUM + NUM + (NUM // 2))) def orm_select(session): return session.query(Person).all() @@ -63,10 +63,10 @@ def all(): t, t2 = 0, 0 def usage(label): now = resource.getrusage(resource.RUSAGE_SELF) - print "%s: %0.3fs real, %0.3fs user, %0.3fs sys" % ( + print("%s: %0.3fs real, %0.3fs user, %0.3fs sys" % ( label, t2 - t, now.ru_utime - usage.last.ru_utime, - now.ru_stime - usage.last.ru_stime) + now.ru_stime - usage.last.ru_stime)) usage.snap(now) usage.snap = lambda stats=None: setattr( usage, 'last', stats or resource.getrusage(resource.RUSAGE_SELF)) diff --git a/test/perf/orm2010.py b/test/perf/orm2010.py index 47257ba87..937e6ddff 100644 --- a/test/perf/orm2010.py +++ b/test/perf/orm2010.py @@ -95,7 +95,7 @@ def runit(): name="Boss %d" % i, golf_average=Decimal(random.randint(40, 150)) ) - for i in xrange(1000) + for i in range(1000) ] sess.add_all(bosses) @@ -107,7 +107,7 @@ def runit(): name="Grunt %d" % i, savings=Decimal(random.randint(5000000, 15000000) / 100) ) - for i in xrange(10000) + for i in range(10000) ] # Assign each Grunt a Boss. Look them up in the DB @@ -149,15 +149,15 @@ stats = pstats.Stats(filename) counts_by_methname = dict((key[2], stats.stats[key][0]) for key in stats.stats) -print "SQLA Version: %s" % __version__ -print "Total calls %d" % stats.total_calls -print "Total cpu seconds: %.2f" % stats.total_tt -print 'Total execute calls: %d' \ +print("SQLA Version: %s" % __version__) +print("Total calls %d" % stats.total_calls) +print("Total cpu seconds: %.2f" % stats.total_tt) +print('Total execute calls: %d' \ % counts_by_methname["<method 'execute' of 'sqlite3.Cursor' " - "objects>"] -print 'Total executemany calls: %d' \ + "objects>"]) +print('Total executemany calls: %d' \ % counts_by_methname.get("<method 'executemany' of 'sqlite3.Cursor' " - "objects>", 0) + "objects>", 0)) #stats.sort_stats('time', 'calls') #stats.print_stats() diff --git a/test/perf/ormsession.py b/test/perf/ormsession.py index 5e38d6e80..2fc656117 100644 --- a/test/perf/ormsession.py +++ b/test/perf/ormsession.py @@ -81,9 +81,9 @@ def insert_data(): transaction = con.begin() data, subdata = [], [] - for item_id in xrange(1, q_items + 1): + for item_id in range(1, q_items + 1): data.append({'name': "item number %s" % item_id}) - for subitem_id in xrange(1, (item_id % q_sub_per_item) + 1): + for subitem_id in range(1, (item_id % q_sub_per_item) + 1): subdata.append({'item_id': item_id, 'name': "subitem number %s" % subitem_id}) if item_id % 100 == 0: @@ -99,7 +99,7 @@ def insert_data(): transaction = con.begin() data = [] - for customer_id in xrange(1, q_customers): + for customer_id in range(1, q_customers): data.append({'name': "customer number %s" % customer_id}) if customer_id % 100 == 0: customers.insert().execute(*data) @@ -111,7 +111,7 @@ def insert_data(): transaction = con.begin() data, subdata = [], [] order_t = int(time.time()) - (5000 * 5 * 60) - current = xrange(1, q_customers) + current = range(1, q_customers) step, purchase_id = 1, 0 while current: next = [] diff --git a/test/perf/stress_all.py b/test/perf/stress_all.py index 890ef24a3..b2e034e7d 100644 --- a/test/perf/stress_all.py +++ b/test/perf/stress_all.py @@ -2,7 +2,7 @@ from datetime import * import decimal #from fastdec import mpd as Decimal -from cPickle import dumps, loads +from pickle import dumps, loads #from sqlalchemy.dialects.postgresql.base import ARRAY @@ -42,9 +42,9 @@ def getitem_int_results(raw_results): def getitem_long_results(raw_results): return [ - (r[0L], - r[1L], r[2L], r[3L], r[4L], r[5L], - r[6L], r[7L], r[8L], r[9L], r[10L]) + (r[0], + r[1], r[2], r[3], r[4], r[5], + r[6], r[7], r[8], r[9], r[10]) for r in raw_results] def getitem_obj_results(raw_results): @@ -128,7 +128,7 @@ typedecoratortest = (MyIntType, genmyintvalue, # Unicode def genunicodevalue(rnum, fnum): - return (rnum % 4) and (u"value%d" % fnum) or None + return (rnum % 4) and ("value%d" % fnum) or None unicodetest = (Unicode(20, ), genunicodevalue, dict(num_records=100000)) # dict(engineurl='mysql:///test', freshdata=False)) @@ -139,10 +139,10 @@ if test_types: pickletypetest, typedecoratortest, unicodetest] for engineurl in ('postgresql://scott:tiger@localhost/test', 'sqlite://', 'mysql://scott:tiger@localhost/test'): - print "\n%s\n" % engineurl + print("\n%s\n" % engineurl) for datatype, genvalue, kwargs in tests: - print "%s:" % getattr(datatype, '__name__', - datatype.__class__.__name__), + print("%s:" % getattr(datatype, '__name__', + datatype.__class__.__name__), end=' ') profile_and_time_dbfunc(iter_results, datatype, genvalue, profile=False, engineurl=engineurl, verbose=verbose, **kwargs) @@ -158,13 +158,13 @@ if test_methods: slice_results] for engineurl in ('postgresql://scott:tiger@localhost/test', 'sqlite://', 'mysql://scott:tiger@localhost/test'): - print "\n%s\n" % engineurl + print("\n%s\n" % engineurl) test_table = prepare(Unicode(20,), genunicodevalue, num_fields=10, num_records=100000, verbose=verbose, engineurl=engineurl) for method in methods: - print "%s:" % method.__name__, + print("%s:" % method.__name__, end=' ') time_dbfunc(test_table, method, genunicodevalue, num_fields=10, num_records=100000, profile=False, verbose=verbose) @@ -174,9 +174,9 @@ if test_methods: # -------------------------------- def pickletofile_results(raw_results): - from cPickle import dump, load + from pickle import dump, load for protocol in (0, 1, 2): - print "dumping protocol %d..." % protocol + print("dumping protocol %d..." % protocol) f = file('noext.pickle%d' % protocol, 'wb') dump(raw_results, f, protocol) f.close() @@ -198,7 +198,7 @@ if test_pickle: num_fields=10, num_records=10000) funcs = [pickle_rows, pickle_results] for func in funcs: - print "%s:" % func.__name__, + print("%s:" % func.__name__, end=' ') time_dbfunc(test_table, func, genunicodevalue, num_records=10000, profile=False, verbose=verbose) @@ -217,9 +217,9 @@ if test_orm: def get_results(): return session.query(Test).all() - print "ORM:", + print("ORM:", end=' ') for engineurl in ('postgresql:///test', 'sqlite://', 'mysql:///test'): - print "\n%s\n" % engineurl + print("\n%s\n" % engineurl) profile_and_time_dbfunc(getattr_results, Unicode(20), genunicodevalue, class_=Test, getresults_func=get_results, engineurl=engineurl, #freshdata=False, diff --git a/test/perf/stresstest.py b/test/perf/stresstest.py index cf9404f53..ca7c1da4f 100644 --- a/test/perf/stresstest.py +++ b/test/perf/stresstest.py @@ -17,13 +17,13 @@ def gen_table(num_fields, field_type, metadata): def insert(test_table, num_fields, num_records, genvalue, verbose=True): if verbose: - print "building insert values...", + print("building insert values...", end=' ') sys.stdout.flush() values = [dict(("field%d" % fnum, genvalue(rnum, fnum)) for fnum in range(num_fields)) for rnum in range(num_records)] if verbose: - print "inserting...", + print("inserting...", end=' ') sys.stdout.flush() def db_insert(): test_table.insert().execute(values) @@ -32,11 +32,11 @@ def insert(test_table, num_fields, num_records, genvalue, verbose=True): "from __main__ import db_insert", number=1) if verbose: - print "%s" % round(timing, 3) + print("%s" % round(timing, 3)) def check_result(results, num_fields, genvalue, verbose=True): if verbose: - print "checking...", + print("checking...", end=' ') sys.stdout.flush() for rnum, row in enumerate(results): expected = tuple([rnum + 1] + @@ -49,28 +49,28 @@ def avgdev(values, comparison): def nicer_res(values, printvalues=False): if printvalues: - print values + print(values) min_time = min(values) return round(min_time, 3), round(avgdev(values, min_time), 2) def profile_func(func_name, verbose=True): if verbose: - print "profiling...", + print("profiling...", end=' ') sys.stdout.flush() cProfile.run('%s()' % func_name, 'prof') def time_func(func_name, num_tests=1, verbose=True): if verbose: - print "timing...", + print("timing...", end=' ') sys.stdout.flush() timings = timeit.repeat('%s()' % func_name, "from __main__ import %s" % func_name, number=num_tests, repeat=5) avg, dev = nicer_res(timings) if verbose: - print "%s (%s)" % (avg, dev) + print("%s (%s)" % (avg, dev)) else: - print avg + print(avg) def profile_and_time(func_name, num_tests=1): profile_func(func_name) @@ -121,7 +121,7 @@ def time_dbfunc(test_table, test_func, genvalue, check_results=check_result, profile=True, check_leaks=True, print_leaks=False, verbose=True): if verbose: - print "testing '%s'..." % test_func.__name__, + print("testing '%s'..." % test_func.__name__, end=' ') sys.stdout.flush() if class_ is not None: clear_mappers() @@ -148,12 +148,12 @@ def time_dbfunc(test_table, test_func, genvalue, diff = hashable_objects_after - hashable_objects_before ldiff = len(diff) if print_leaks and ldiff < num_records: - print "\n*** hashable objects leaked (%d) ***" % ldiff - print '\n'.join(map(str, diff)) - print "***\n" + print("\n*** hashable objects leaked (%d) ***" % ldiff) + print('\n'.join(map(str, diff))) + print("***\n") if num_leaks > num_records: - print "(leaked: %d !)" % num_leaks, + print("(leaked: %d !)" % num_leaks, end=' ') if profile: profile_func('test', verbose) time_func('test', num_tests, verbose) diff --git a/test/perf/threaded_compile.py b/test/perf/threaded_compile.py index 0facf0ec2..23474a1c6 100644 --- a/test/perf/threaded_compile.py +++ b/test/perf/threaded_compile.py @@ -4,7 +4,7 @@ collection is being compiled.""" from sqlalchemy import * from sqlalchemy.orm import * -import thread, time +import _thread, time from sqlalchemy.orm import mapperlib @@ -42,20 +42,20 @@ class FakeLock(object): def run1(): for i in range(50): - print "T1", thread.get_ident() + print("T1", _thread.get_ident()) class_mapper(T1) time.sleep(.05) def run2(): for i in range(50): - print "T2", thread.get_ident() + print("T2", _thread.get_ident()) class_mapper(T2) time.sleep(.057) def run3(): for i in range(50): def foo(): - print "FOO", thread.get_ident() + print("FOO", _thread.get_ident()) class Foo(object):pass mapper(Foo, t3) class_mapper(Foo).compile() @@ -64,12 +64,12 @@ def run3(): mapper(T1, t1, properties={'t2':relationship(T2, backref="t1")}) mapper(T2, t2) -print "START" +print("START") for j in range(0, 5): - thread.start_new_thread(run1, ()) - thread.start_new_thread(run2, ()) - thread.start_new_thread(run3, ()) - thread.start_new_thread(run3, ()) - thread.start_new_thread(run3, ()) -print "WAIT" + _thread.start_new_thread(run1, ()) + _thread.start_new_thread(run2, ()) + _thread.start_new_thread(run3, ()) + _thread.start_new_thread(run3, ()) + _thread.start_new_thread(run3, ()) +print("WAIT") time.sleep(5) diff --git a/test/sql/test_compiler.py b/test/sql/test_compiler.py index 9cd893c1a..329d7543e 100644 --- a/test/sql/test_compiler.py +++ b/test/sql/test_compiler.py @@ -661,13 +661,13 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL): s = select([table1.c.myid]).as_scalar() try: s.c.foo - except exc.InvalidRequestError, err: + except exc.InvalidRequestError as err: assert str(err) \ == 'Scalar Select expression has no columns; use this '\ 'object directly within a column-level expression.' try: s.columns.foo - except exc.InvalidRequestError, err: + except exc.InvalidRequestError as err: assert str(err) \ == 'Scalar Select expression has no columns; use this '\ 'object directly within a column-level expression.' @@ -1116,9 +1116,9 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL): # test unicode self.assert_compile(select( - [u"foobar(a)", u"pk_foo_bar(syslaal)"], - u"a = 12", - from_obj=[u"foobar left outer join lala on foobar.foo = lala.foo"] + ["foobar(a)", "pk_foo_bar(syslaal)"], + "a = 12", + from_obj=["foobar left outer join lala on foobar.foo = lala.foo"] ), "SELECT foobar(a), pk_foo_bar(syslaal) FROM foobar " "left outer join lala on foobar.foo = lala.foo WHERE a = 12" @@ -2245,7 +2245,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL): func.lala(table1.c.name).label('gg')]) eq_( - s1.c.keys(), + list(s1.c.keys()), ['myid', 'foobar', str(f1), 'gg'] ) @@ -2273,7 +2273,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL): t = table1 s1 = select([col], from_obj=t) - assert s1.c.keys() == [key], s1.c.keys() + assert list(s1.c.keys()) == [key], list(s1.c.keys()) if label: self.assert_compile(s1, @@ -2679,11 +2679,11 @@ class DDLTest(fixtures.TestBase, AssertsCompiledSQL): def test_reraise_of_column_spec_issue_unicode(self): MyType = self._illegal_type_fixture() t1 = Table('t', MetaData(), - Column(u'méil', MyType()) + Column('méil', MyType()) ) assert_raises_message( exc.CompileError, - ur"\(in table 't', column 'méil'\): Couldn't compile type", + r"\(in table 't', column 'méil'\): Couldn't compile type", schema.CreateTable(t1).compile ) diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py index 1c31314d8..38c56f8be 100644 --- a/test/sql/test_defaults.py +++ b/test/sql/test_defaults.py @@ -600,7 +600,7 @@ class AutoIncrementTest(fixtures.TablesTest): nonai.insert().execute(data='row 1') nonai.insert().execute(data='row 2') assert False - except sa.exc.DBAPIError, e: + except sa.exc.DBAPIError as e: assert True nonai.insert().execute(id=1, data='row 1') @@ -649,7 +649,7 @@ class SequenceExecTest(fixtures.TestBase): def _assert_seq_result(self, ret): """asserts return of next_value is an int""" - assert isinstance(ret, (int, long)) + assert isinstance(ret, int) assert ret > 0 def test_implicit_connectionless(self): @@ -781,7 +781,7 @@ class SequenceTest(fixtures.TestBase, testing.AssertsCompiledSQL): ] start = seq.start or 1 inc = seq.increment or 1 - assert values == list(xrange(start, start + inc * 3, inc)) + assert values == list(range(start, start + inc * 3, inc)) finally: seq.drop(testing.db) @@ -1156,20 +1156,22 @@ class UnicodeDefaultsTest(fixtures.TestBase): c = Column(Unicode(32)) def test_unicode_default(self): - # Py3K - #default = 'foo' - # Py2K - default = u'foo' - # end Py2K +# start Py3K + default = 'foo' +# end Py3K +# start Py2K +# default = u'foo' +# end Py2K c = Column(Unicode(32), default=default) def test_nonunicode_default(self): - # Py3K - #default = b'foo' - # Py2K - default = 'foo' - # end Py2K +# start Py3K + default = b'foo' +# end Py3K +# start Py2K +# default = 'foo' +# end Py2K assert_raises_message( sa.exc.SAWarning, "Unicode column received non-unicode default value.", diff --git a/test/sql/test_functions.py b/test/sql/test_functions.py index b325b7763..ee503dbb7 100644 --- a/test/sql/test_functions.py +++ b/test/sql/test_functions.py @@ -381,7 +381,7 @@ class ExecuteTest(fixtures.TestBase): assert t.select(t.c.id == id).execute().first()['value'] == 9 t.update(values={t.c.value: func.length("asdf")}).execute() assert t.select().execute().first()['value'] == 4 - print "--------------------------" + print("--------------------------") t2.insert().execute() t2.insert(values=dict(value=func.length("one"))).execute() t2.insert(values=dict(value=func.length("asfda") + -19)).\ @@ -409,7 +409,7 @@ class ExecuteTest(fixtures.TestBase): t2.update(values={t2.c.value: func.length("asfdaasdf"), t2.c.stuff: "foo"}).execute() - print "HI", select([t2.c.value, t2.c.stuff]).execute().first() + print("HI", select([t2.c.value, t2.c.stuff]).execute().first()) eq_(select([t2.c.value, t2.c.stuff]).execute().first(), (9, "foo") ) diff --git a/test/sql/test_generative.py b/test/sql/test_generative.py index 8b2abef0e..09b20d8ea 100644 --- a/test/sql/test_generative.py +++ b/test/sql/test_generative.py @@ -176,7 +176,7 @@ class BinaryEndpointTraversalTest(fixtures.TestBase): canary = [] def visit(binary, l, r): canary.append((binary.operator, l, r)) - print binary.operator, l, r + print(binary.operator, l, r) sql_util.visit_binary_product(visit, expr) eq_( canary, expected @@ -433,7 +433,7 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL): clause2 = Vis().traverse(clause) assert c1 == str(clause) assert str(clause2) == c1 + " SOME MODIFIER=:lala" - assert clause.bindparams.keys() == ['bar'] + assert list(clause.bindparams.keys()) == ['bar'] assert set(clause2.bindparams.keys()) == set(['bar', 'lala']) def test_select(self): @@ -446,8 +446,8 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL): s3 = Vis().traverse(s2) assert str(s3) == s3_assert assert str(s2) == s2_assert - print str(s2) - print str(s3) + print(str(s2)) + print(str(s3)) class Vis(ClauseVisitor): def visit_select(self, select): select.append_whereclause(t1.c.col2 == 7) @@ -459,8 +459,8 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL): def visit_select(self, select): select.append_whereclause(t1.c.col3 == 9) s4 = Vis().traverse(s3) - print str(s3) - print str(s4) + print(str(s3)) + print(str(s4)) assert str(s4) == s4_assert assert str(s3) == s3_assert @@ -471,8 +471,8 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL): binary.left = t1.c.col1 binary.right = bindparam("col1", unique=True) s5 = Vis().traverse(s4) - print str(s4) - print str(s5) + print(str(s4)) + print(str(s5)) assert str(s5) == s5_assert assert str(s4) == s4_assert diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py index db2eaa4fa..c0873862d 100644 --- a/test/sql/test_metadata.py +++ b/test/sql/test_metadata.py @@ -89,7 +89,7 @@ class MetaDataTest(fixtures.TestBase, ComparesTables): msgs.append("attach %s.%s" % (t.name, c.name)) c1 = Column('foo', String()) m = MetaData() - for i in xrange(3): + for i in range(3): cx = c1.copy() # as of 0.7, these events no longer copy. its expected # that listeners will be re-established from the @@ -511,7 +511,7 @@ class MetaDataTest(fixtures.TestBase, ComparesTables): def _get_key(i): return [i.name, i.unique] + \ sorted(i.kwargs.items()) + \ - i.columns.keys() + list(i.columns.keys()) eq_( sorted([_get_key(i) for i in table.indexes]), diff --git a/test/sql/test_query.py b/test/sql/test_query.py index 293e629c8..3e9045fa5 100644 --- a/test/sql/test_query.py +++ b/test/sql/test_query.py @@ -367,10 +367,10 @@ class QueryTest(fixtures.TestBase): ) if use_labels: eq_(result[0]['query_users_user_id'], 7) - eq_(result[0].keys(), ["query_users_user_id", "query_users_user_name"]) + eq_(list(result[0].keys()), ["query_users_user_id", "query_users_user_name"]) else: eq_(result[0]['user_id'], 7) - eq_(result[0].keys(), ["user_id", "user_name"]) + eq_(list(result[0].keys()), ["user_id", "user_name"]) eq_(result[0][0], 7) eq_(result[0][users.c.user_id], 7) @@ -523,13 +523,13 @@ class QueryTest(fixtures.TestBase): def a_eq(got, wanted): if got != wanted: - print "Wanted %s" % wanted - print "Received %s" % got + print("Wanted %s" % wanted) + print("Received %s" % got) self.assert_(got == wanted, got) a_eq(prep('select foo'), 'select foo') a_eq(prep("time='12:30:00'"), "time='12:30:00'") - a_eq(prep(u"time='12:30:00'"), u"time='12:30:00'") + a_eq(prep("time='12:30:00'"), "time='12:30:00'") a_eq(prep(":this:that"), ":this:that") a_eq(prep(":this :that"), "? ?") a_eq(prep("(:this),(:that :other)"), "(?),(? ?)") @@ -769,7 +769,7 @@ class QueryTest(fixtures.TestBase): ).first() eq_(r['user_id'], 1) eq_(r['user_name'], "john") - eq_(r.keys(), ["user_id", "user_name"]) + eq_(list(r.keys()), ["user_id", "user_name"]) @testing.only_on("sqlite", "sqlite specific feature") def test_column_accessor_sqlite_raw(self): @@ -784,7 +784,7 @@ class QueryTest(fixtures.TestBase): assert 'user_name' not in r eq_(r['query_users.user_id'], 1) eq_(r['query_users.user_name'], "john") - eq_(r.keys(), ["query_users.user_id", "query_users.user_name"]) + eq_(list(r.keys()), ["query_users.user_id", "query_users.user_name"]) @testing.only_on("sqlite", "sqlite specific feature") def test_column_accessor_sqlite_translated(self): @@ -799,7 +799,7 @@ class QueryTest(fixtures.TestBase): eq_(r['user_name'], "john") eq_(r['query_users.user_id'], 1) eq_(r['query_users.user_name'], "john") - eq_(r.keys(), ["user_id", "user_name"]) + eq_(list(r.keys()), ["user_id", "user_name"]) def test_column_accessor_labels_w_dots(self): users.insert().execute( @@ -812,7 +812,7 @@ class QueryTest(fixtures.TestBase): eq_(r['query_users.user_id'], 1) eq_(r['query_users.user_name'], "john") assert "user_name" not in r - eq_(r.keys(), ["query_users.user_id", "query_users.user_name"]) + eq_(list(r.keys()), ["query_users.user_id", "query_users.user_name"]) def test_column_accessor_unary(self): users.insert().execute( @@ -889,7 +889,7 @@ class QueryTest(fixtures.TestBase): ]) ).first() - eq_(row.keys(), ["case_insensitive", "CaseSensitive"]) + eq_(list(row.keys()), ["case_insensitive", "CaseSensitive"]) eq_(row["case_insensitive"], 1) eq_(row["CaseSensitive"], 2) @@ -911,7 +911,7 @@ class QueryTest(fixtures.TestBase): ]) ).first() - eq_(row.keys(), ["case_insensitive", "CaseSensitive"]) + eq_(list(row.keys()), ["case_insensitive", "CaseSensitive"]) eq_(row["case_insensitive"], 1) eq_(row["CaseSensitive"], 2) eq_(row["Case_insensitive"],1) @@ -1072,14 +1072,14 @@ class QueryTest(fixtures.TestBase): def test_keys(self): users.insert().execute(user_id=1, user_name='foo') r = users.select().execute() - eq_([x.lower() for x in r.keys()], ['user_id', 'user_name']) + eq_([x.lower() for x in list(r.keys())], ['user_id', 'user_name']) r = r.first() - eq_([x.lower() for x in r.keys()], ['user_id', 'user_name']) + eq_([x.lower() for x in list(r.keys())], ['user_id', 'user_name']) def test_items(self): users.insert().execute(user_id=1, user_name='foo') r = users.select().execute().first() - eq_([(x[0].lower(), x[1]) for x in r.items()], [('user_id', 1), ('user_name', 'foo')]) + eq_([(x[0].lower(), x[1]) for x in list(r.items())], [('user_id', 1), ('user_name', 'foo')]) def test_len(self): users.insert().execute(user_id=1, user_name='foo') @@ -1098,8 +1098,8 @@ class QueryTest(fixtures.TestBase): r = users.select(users.c.user_id==1).execute().first() eq_(r[0], 1) eq_(r[1], 'foo') - eq_([x.lower() for x in r.keys()], ['user_id', 'user_name']) - eq_(r.values(), [1, 'foo']) + eq_([x.lower() for x in list(r.keys())], ['user_id', 'user_name']) + eq_(list(r.values()), [1, 'foo']) def test_column_order_with_text_query(self): # should return values in query order @@ -1107,8 +1107,8 @@ class QueryTest(fixtures.TestBase): r = testing.db.execute('select user_name, user_id from query_users').first() eq_(r[0], 'foo') eq_(r[1], 1) - eq_([x.lower() for x in r.keys()], ['user_name', 'user_id']) - eq_(r.values(), ['foo', 1]) + eq_([x.lower() for x in list(r.keys())], ['user_name', 'user_id']) + eq_(list(r.values()), ['foo', 1]) @testing.crashes('oracle', 'FIXME: unknown, varify not fails_on()') @testing.crashes('firebird', 'An identifier must begin with a letter') @@ -1137,7 +1137,7 @@ class QueryTest(fixtures.TestBase): self.assert_(r['_parent'] == 'Hidden parent') self.assert_(r['_row'] == 'Hidden row') try: - print r._parent, r._row + print(r._parent, r._row) self.fail('Should not allow access to private attributes') except AttributeError: pass # expected @@ -2334,7 +2334,7 @@ class JoinTest(fixtures.TestBase): expr = select( [t1.c.t1_id, t2.c.t2_id, t3.c.t3_id], from_obj=[(t1.join(t2).outerjoin(t3, criteria))]) - print expr + print(expr) self.assertRows(expr, [(10, 20, 30), (11, 21, None)]) def test_mixed_where(self): @@ -2416,7 +2416,7 @@ class OperatorTest(fixtures.TestBase): select([ flds.c.intcol, func.row_number().over(order_by=flds.c.strcol) ]).execute().fetchall(), - [(13, 1L), (5, 2L)] + [(13, 1), (5, 2)] ) diff --git a/test/sql/test_quote.py b/test/sql/test_quote.py index 8b14d23a9..717f0f797 100644 --- a/test/sql/test_quote.py +++ b/test/sql/test_quote.py @@ -552,8 +552,8 @@ class PreparerTest(fixtures.TestBase): def a_eq(have, want): if have != want: - print "Wanted %s" % want - print "Received %s" % have + print("Wanted %s" % want) + print("Received %s" % have) self.assert_(have == want) a_eq(unformat('foo'), ['foo']) @@ -584,13 +584,13 @@ class PreparerTest(fixtures.TestBase): def a_eq(have, want): if have != want: - print "Wanted %s" % want - print "Received %s" % have + print("Wanted %s" % want) + print("Received %s" % have) self.assert_(have == want) a_eq(unformat('foo'), ['foo']) a_eq(unformat('`foo`'), ['foo']) - a_eq(unformat(`'foo'`), ["'foo'"]) + a_eq(unformat(repr('foo')), ["'foo'"]) a_eq(unformat('foo.bar'), ['foo', 'bar']) a_eq(unformat('`foo`.`bar`'), ['foo', 'bar']) a_eq(unformat('foo.`bar`'), ['foo', 'bar']) diff --git a/test/sql/test_rowcount.py b/test/sql/test_rowcount.py index f14f78989..2dbf4f3ea 100644 --- a/test/sql/test_rowcount.py +++ b/test/sql/test_rowcount.py @@ -53,20 +53,20 @@ class FoundRowsTest(fixtures.TestBase, AssertsExecutionResults): # WHERE matches 3, 3 rows changed department = employees_table.c.department r = employees_table.update(department=='C').execute(department='Z') - print "expecting 3, dialect reports %s" % r.rowcount + print("expecting 3, dialect reports %s" % r.rowcount) assert r.rowcount == 3 def test_update_rowcount2(self): # WHERE matches 3, 0 rows changed department = employees_table.c.department r = employees_table.update(department=='C').execute(department='C') - print "expecting 3, dialect reports %s" % r.rowcount + print("expecting 3, dialect reports %s" % r.rowcount) assert r.rowcount == 3 def test_delete_rowcount(self): # WHERE matches 3, 3 rows deleted department = employees_table.c.department r = employees_table.delete(department=='C').execute() - print "expecting 3, dialect reports %s" % r.rowcount + print("expecting 3, dialect reports %s" % r.rowcount) assert r.rowcount == 3 diff --git a/test/sql/test_selectable.py b/test/sql/test_selectable.py index e881298a7..e697a7e08 100644 --- a/test/sql/test_selectable.py +++ b/test/sql/test_selectable.py @@ -174,11 +174,11 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled def test_clone_append_column(self): sel = select([literal_column('1').label('a')]) - eq_(sel.c.keys(), ['a']) + eq_(list(sel.c.keys()), ['a']) cloned = visitors.ReplacingCloningVisitor().traverse(sel) cloned.append_column(literal_column('2').label('b')) cloned.append_column(func.foo()) - eq_(cloned.c.keys(), ['a', 'b', 'foo()']) + eq_(list(cloned.c.keys()), ['a', 'b', 'foo()']) def test_append_column_after_replace_selectable(self): basesel = select([literal_column('1').label('a')]) @@ -362,10 +362,10 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled def test_join(self): a = join(table1, table2) - print str(a.select(use_labels=True)) + print(str(a.select(use_labels=True))) b = table2.alias('b') j = join(a, b) - print str(j) + print(str(j)) criterion = a.c.table1_col1 == b.c.col2 self.assert_(criterion.compare(j.onclause)) @@ -949,7 +949,7 @@ class PrimaryKeyTest(fixtures.TestBase, AssertsExecutionResults): primary_key=True), Column('x', Integer)) d = Table('d', meta, Column('id', Integer, ForeignKey('c.id'), primary_key=True), Column('x', Integer)) - print list(a.join(b, a.c.x == b.c.id).primary_key) + print(list(a.join(b, a.c.x == b.c.id).primary_key)) assert list(a.join(b, a.c.x == b.c.id).primary_key) == [a.c.id] assert list(b.join(c, b.c.x == c.c.id).primary_key) == [b.c.id] assert list(a.join(b).join(c, c.c.id == b.c.x).primary_key) \ @@ -1618,7 +1618,7 @@ class WithLabelsTest(fixtures.TestBase): def test_names_overlap_label(self): sel = self._names_overlap().apply_labels() eq_( - sel.c.keys(), + list(sel.c.keys()), ['t1_x', 't2_x'] ) self._assert_result_keys(sel, ['t1_x', 't2_x']) @@ -1632,7 +1632,7 @@ class WithLabelsTest(fixtures.TestBase): def test_names_overlap_keys_dont_nolabel(self): sel = self._names_overlap_keys_dont() eq_( - sel.c.keys(), + list(sel.c.keys()), ['a', 'b'] ) self._assert_result_keys(sel, ['x']) @@ -1640,7 +1640,7 @@ class WithLabelsTest(fixtures.TestBase): def test_names_overlap_keys_dont_label(self): sel = self._names_overlap_keys_dont().apply_labels() eq_( - sel.c.keys(), + list(sel.c.keys()), ['t1_a', 't2_b'] ) self._assert_result_keys(sel, ['t1_x', 't2_x']) @@ -1654,7 +1654,7 @@ class WithLabelsTest(fixtures.TestBase): def test_labels_overlap_nolabel(self): sel = self._labels_overlap() eq_( - sel.c.keys(), + list(sel.c.keys()), ['x_id', 'id'] ) self._assert_result_keys(sel, ['x_id', 'id']) @@ -1663,7 +1663,7 @@ class WithLabelsTest(fixtures.TestBase): sel = self._labels_overlap().apply_labels() t2 = sel.froms[1] eq_( - sel.c.keys(), + list(sel.c.keys()), ['t_x_id', t2.c.id.anon_label] ) self._assert_result_keys(sel, ['t_x_id', 'id_1']) @@ -1677,12 +1677,12 @@ class WithLabelsTest(fixtures.TestBase): def test_labels_overlap_keylabels_dont_nolabel(self): sel = self._labels_overlap_keylabels_dont() - eq_(sel.c.keys(), ['a', 'b']) + eq_(list(sel.c.keys()), ['a', 'b']) self._assert_result_keys(sel, ['x_id', 'id']) def test_labels_overlap_keylabels_dont_label(self): sel = self._labels_overlap_keylabels_dont().apply_labels() - eq_(sel.c.keys(), ['t_a', 't_x_b']) + eq_(list(sel.c.keys()), ['t_a', 't_x_b']) self._assert_result_keys(sel, ['t_x_id', 'id_1']) def _keylabels_overlap_labels_dont(self): @@ -1693,13 +1693,13 @@ class WithLabelsTest(fixtures.TestBase): def test_keylabels_overlap_labels_dont_nolabel(self): sel = self._keylabels_overlap_labels_dont() - eq_(sel.c.keys(), ['x_id', 'id']) + eq_(list(sel.c.keys()), ['x_id', 'id']) self._assert_result_keys(sel, ['a', 'b']) def test_keylabels_overlap_labels_dont_label(self): sel = self._keylabels_overlap_labels_dont().apply_labels() t2 = sel.froms[1] - eq_(sel.c.keys(), ['t_x_id', t2.c.id.anon_label]) + eq_(list(sel.c.keys()), ['t_x_id', t2.c.id.anon_label]) self._assert_result_keys(sel, ['t_a', 't_x_b']) self._assert_subq_result_keys(sel, ['t_a', 't_x_b']) @@ -1711,14 +1711,14 @@ class WithLabelsTest(fixtures.TestBase): def test_keylabels_overlap_labels_overlap_nolabel(self): sel = self._keylabels_overlap_labels_overlap() - eq_(sel.c.keys(), ['x_a', 'a']) + eq_(list(sel.c.keys()), ['x_a', 'a']) self._assert_result_keys(sel, ['x_id', 'id']) self._assert_subq_result_keys(sel, ['x_id', 'id']) def test_keylabels_overlap_labels_overlap_label(self): sel = self._keylabels_overlap_labels_overlap().apply_labels() t2 = sel.froms[1] - eq_(sel.c.keys(), ['t_x_a', t2.c.a.anon_label]) + eq_(list(sel.c.keys()), ['t_x_a', t2.c.a.anon_label]) self._assert_result_keys(sel, ['t_x_id', 'id_1']) self._assert_subq_result_keys(sel, ['t_x_id', 'id_1']) @@ -1736,7 +1736,7 @@ class WithLabelsTest(fixtures.TestBase): def test_keys_overlap_names_dont_label(self): sel = self._keys_overlap_names_dont().apply_labels() eq_( - sel.c.keys(), + list(sel.c.keys()), ['t1_x', 't2_x'] ) self._assert_result_keys(sel, ['t1_a', 't2_b']) diff --git a/test/sql/test_types.py b/test/sql/test_types.py index 407869f15..f44ee9286 100644 --- a/test/sql/test_types.py +++ b/test/sql/test_types.py @@ -141,22 +141,24 @@ class AdaptTest(fixtures.TestBase): eq_(types.Integer().python_type, int) eq_(types.Numeric().python_type, decimal.Decimal) eq_(types.Numeric(asdecimal=False).python_type, float) - # Py3K - #eq_(types.LargeBinary().python_type, bytes) - # Py2K - eq_(types.LargeBinary().python_type, str) - # end Py2K +# start Py3K + eq_(types.LargeBinary().python_type, bytes) +# end Py3K +# start Py2K +# eq_(types.LargeBinary().python_type, str) +# end Py2K eq_(types.Float().python_type, float) eq_(types.Interval().python_type, datetime.timedelta) eq_(types.Date().python_type, datetime.date) eq_(types.DateTime().python_type, datetime.datetime) - # Py3K - #eq_(types.String().python_type, unicode) - # Py2K +# start Py3K eq_(types.String().python_type, str) - # end Py2K - eq_(types.Unicode().python_type, unicode) - eq_(types.String(convert_unicode=True).python_type, unicode) +# end Py3K +# start Py2K +# eq_(types.String().python_type, str) +# end Py2K + eq_(types.Unicode().python_type, str) + eq_(types.String(convert_unicode=True).python_type, str) assert_raises( NotImplementedError, @@ -257,14 +259,14 @@ class UserDefinedTest(fixtures.TablesTest, AssertsCompiledSQL): def test_processing(self): users = self.tables.users users.insert().execute( - user_id=2, goofy='jack', goofy2='jack', goofy4=u'jack', - goofy7=u'jack', goofy8=12, goofy9=12) + user_id=2, goofy='jack', goofy2='jack', goofy4='jack', + goofy7='jack', goofy8=12, goofy9=12) users.insert().execute( - user_id=3, goofy='lala', goofy2='lala', goofy4=u'lala', - goofy7=u'lala', goofy8=15, goofy9=15) + user_id=3, goofy='lala', goofy2='lala', goofy4='lala', + goofy7='lala', goofy8=15, goofy9=15) users.insert().execute( - user_id=4, goofy='fred', goofy2='fred', goofy4=u'fred', - goofy7=u'fred', goofy8=9, goofy9=9) + user_id=4, goofy='fred', goofy2='fred', goofy4='fred', + goofy7='fred', goofy8=9, goofy9=9) l = users.select().order_by(users.c.user_id).execute().fetchall() for assertstr, assertint, assertint2, row in zip( @@ -278,7 +280,7 @@ class UserDefinedTest(fixtures.TablesTest, AssertsCompiledSQL): eq_(row[5], assertint) eq_(row[6], assertint2) for col in row[3], row[4]: - assert isinstance(col, unicode) + assert isinstance(col, str) def test_typedecorator_impl(self): for impl_, exp, kw in [ @@ -715,9 +717,9 @@ class UnicodeTest(fixtures.TestBase): expected ) - data = u"Alors vous imaginez ma surprise, au lever du jour, quand "\ - u"une drôle de petite voix m’a réveillé. "\ - u"Elle disait: « S’il vous plaît… dessine-moi un mouton! »" + data = "Alors vous imaginez ma surprise, au lever du jour, quand "\ + "une drôle de petite voix m’a réveillé. "\ + "Elle disait: « S’il vous plaît… dessine-moi un mouton! »" def test_unicode_warnings_typelevel_native_unicode(self): @@ -726,13 +728,14 @@ class UnicodeTest(fixtures.TestBase): dialect = default.DefaultDialect() dialect.supports_unicode_binds = True uni = u.dialect_impl(dialect).bind_processor(dialect) - # Py3K - #assert_raises(exc.SAWarning, uni, b'x') - #assert isinstance(uni(unicodedata), str) - # Py2K - assert_raises(exc.SAWarning, uni, 'x') - assert isinstance(uni(unicodedata), unicode) - # end Py2K +# start Py3K + assert_raises(exc.SAWarning, uni, b'x') + assert isinstance(uni(unicodedata), str) +# end Py3K +# start Py2K +# assert_raises(exc.SAWarning, uni, 'x') +# assert isinstance(uni(unicodedata), unicode) +# end Py2K def test_unicode_warnings_typelevel_sqla_unicode(self): unicodedata = self.data @@ -740,13 +743,14 @@ class UnicodeTest(fixtures.TestBase): dialect = default.DefaultDialect() dialect.supports_unicode_binds = False uni = u.dialect_impl(dialect).bind_processor(dialect) - # Py3K - #assert_raises(exc.SAWarning, uni, b'x') - #assert isinstance(uni(unicodedata), bytes) - # Py2K - assert_raises(exc.SAWarning, uni, 'x') - assert isinstance(uni(unicodedata), str) - # end Py2K +# start Py3K + assert_raises(exc.SAWarning, uni, b'x') + assert isinstance(uni(unicodedata), bytes) +# end Py3K +# start Py2K +# assert_raises(exc.SAWarning, uni, 'x') +# assert isinstance(uni(unicodedata), str) +# end Py2K eq_(uni(unicodedata), unicodedata.encode('utf-8')) @@ -760,13 +764,14 @@ class UnicodeTest(fixtures.TestBase): s = String() uni = s.dialect_impl(dialect).bind_processor(dialect) # this is not the unicode type - no warning - # Py3K - #uni(b'x') - #assert isinstance(uni(unicodedata), bytes) - # Py2K - uni('x') - assert isinstance(uni(unicodedata), str) - # end Py2K +# start Py3K + uni(b'x') + assert isinstance(uni(unicodedata), bytes) +# end Py3K +# start Py2K +# uni('x') +# assert isinstance(uni(unicodedata), str) +# end Py2K eq_(uni(unicodedata), unicodedata.encode('utf-8')) @@ -1366,7 +1371,7 @@ class NumericRawSQLTest(fixtures.TestBase): metadata = self.metadata t = self._fixture(metadata, Integer, 45) val = testing.db.execute("select val from t").scalar() - assert isinstance(val, (int, long)) + assert isinstance(val, int) eq_(val, 45) @testing.provide_metadata diff --git a/test/sql/test_unicode.py b/test/sql/test_unicode.py index 37e44522e..2ab081dad 100644 --- a/test/sql/test_unicode.py +++ b/test/sql/test_unicode.py @@ -19,13 +19,13 @@ class UnicodeSchemaTest(fixtures.TestBase): metadata = MetaData(unicode_bind) t1 = Table('unitable1', metadata, - Column(u'méil', Integer, primary_key=True), - Column(u'\u6e2c\u8a66', Integer), + Column('méil', Integer, primary_key=True), + Column('\u6e2c\u8a66', Integer), test_needs_fk=True, ) - t2 = Table(u'Unitéble2', metadata, - Column(u'méil', Integer, primary_key=True, key="a"), - Column(u'\u6e2c\u8a66', Integer, ForeignKey(u'unitable1.méil'), + t2 = Table('Unitéble2', metadata, + Column('méil', Integer, primary_key=True, key="a"), + Column('\u6e2c\u8a66', Integer, ForeignKey('unitable1.méil'), key="b" ), test_needs_fk=True, @@ -33,27 +33,27 @@ class UnicodeSchemaTest(fixtures.TestBase): # Few DBs support Unicode foreign keys if testing.against('sqlite'): - t3 = Table(u'\u6e2c\u8a66', metadata, - Column(u'\u6e2c\u8a66_id', Integer, primary_key=True, + t3 = Table('\u6e2c\u8a66', metadata, + Column('\u6e2c\u8a66_id', Integer, primary_key=True, autoincrement=False), - Column(u'unitable1_\u6e2c\u8a66', Integer, - ForeignKey(u'unitable1.\u6e2c\u8a66') + Column('unitable1_\u6e2c\u8a66', Integer, + ForeignKey('unitable1.\u6e2c\u8a66') ), - Column(u'Unitéble2_b', Integer, - ForeignKey(u'Unitéble2.b') + Column('Unitéble2_b', Integer, + ForeignKey('Unitéble2.b') ), - Column(u'\u6e2c\u8a66_self', Integer, - ForeignKey(u'\u6e2c\u8a66.\u6e2c\u8a66_id') + Column('\u6e2c\u8a66_self', Integer, + ForeignKey('\u6e2c\u8a66.\u6e2c\u8a66_id') ), test_needs_fk=True, ) else: - t3 = Table(u'\u6e2c\u8a66', metadata, - Column(u'\u6e2c\u8a66_id', Integer, primary_key=True, + t3 = Table('\u6e2c\u8a66', metadata, + Column('\u6e2c\u8a66_id', Integer, primary_key=True, autoincrement=False), - Column(u'unitable1_\u6e2c\u8a66', Integer), - Column(u'Unitéble2_b', Integer), - Column(u'\u6e2c\u8a66_self', Integer), + Column('unitable1_\u6e2c\u8a66', Integer), + Column('Unitéble2_b', Integer), + Column('\u6e2c\u8a66_self', Integer), test_needs_fk=True, ) metadata.create_all() @@ -72,42 +72,42 @@ class UnicodeSchemaTest(fixtures.TestBase): del unicode_bind def test_insert(self): - t1.insert().execute({u'méil':1, u'\u6e2c\u8a66':5}) + t1.insert().execute({'méil':1, '\u6e2c\u8a66':5}) t2.insert().execute({'a':1, 'b':1}) - t3.insert().execute({u'\u6e2c\u8a66_id': 1, - u'unitable1_\u6e2c\u8a66': 5, - u'Unitéble2_b': 1, - u'\u6e2c\u8a66_self': 1}) + t3.insert().execute({'\u6e2c\u8a66_id': 1, + 'unitable1_\u6e2c\u8a66': 5, + 'Unitéble2_b': 1, + '\u6e2c\u8a66_self': 1}) assert t1.select().execute().fetchall() == [(1, 5)] assert t2.select().execute().fetchall() == [(1, 1)] assert t3.select().execute().fetchall() == [(1, 5, 1, 1)] def test_reflect(self): - t1.insert().execute({u'méil':2, u'\u6e2c\u8a66':7}) + t1.insert().execute({'méil':2, '\u6e2c\u8a66':7}) t2.insert().execute({'a':2, 'b':2}) - t3.insert().execute({u'\u6e2c\u8a66_id': 2, - u'unitable1_\u6e2c\u8a66': 7, - u'Unitéble2_b': 2, - u'\u6e2c\u8a66_self': 2}) + t3.insert().execute({'\u6e2c\u8a66_id': 2, + 'unitable1_\u6e2c\u8a66': 7, + 'Unitéble2_b': 2, + '\u6e2c\u8a66_self': 2}) meta = MetaData(unicode_bind) tt1 = Table(t1.name, meta, autoload=True) tt2 = Table(t2.name, meta, autoload=True) tt3 = Table(t3.name, meta, autoload=True) - tt1.insert().execute({u'méil':1, u'\u6e2c\u8a66':5}) - tt2.insert().execute({u'méil':1, u'\u6e2c\u8a66':1}) - tt3.insert().execute({u'\u6e2c\u8a66_id': 1, - u'unitable1_\u6e2c\u8a66': 5, - u'Unitéble2_b': 1, - u'\u6e2c\u8a66_self': 1}) + tt1.insert().execute({'méil':1, '\u6e2c\u8a66':5}) + tt2.insert().execute({'méil':1, '\u6e2c\u8a66':1}) + tt3.insert().execute({'\u6e2c\u8a66_id': 1, + 'unitable1_\u6e2c\u8a66': 5, + 'Unitéble2_b': 1, + '\u6e2c\u8a66_self': 1}) - self.assert_(tt1.select(order_by=desc(u'méil')).execute().fetchall() == + self.assert_(tt1.select(order_by=desc('méil')).execute().fetchall() == [(2, 7), (1, 5)]) - self.assert_(tt2.select(order_by=desc(u'méil')).execute().fetchall() == + self.assert_(tt2.select(order_by=desc('méil')).execute().fetchall() == [(2, 2), (1, 1)]) - self.assert_(tt3.select(order_by=desc(u'\u6e2c\u8a66_id')). + self.assert_(tt3.select(order_by=desc('\u6e2c\u8a66_id')). execute().fetchall() == [(2, 7, 2, 2), (1, 5, 1, 1)]) meta.drop_all() @@ -117,7 +117,7 @@ class EscapesDefaultsTest(fixtures.TestBase): def test_default_exec(self): metadata = MetaData(testing.db) t1 = Table('t1', metadata, - Column(u'special_col', Integer, Sequence('special_col'), primary_key=True), + Column('special_col', Integer, Sequence('special_col'), primary_key=True), Column('data', String(50)) # to appease SQLite without DEFAULT VALUES ) metadata.create_all() @@ -128,8 +128,8 @@ class EscapesDefaultsTest(fixtures.TestBase): # reset the identifier preparer, so that we can force it to cache # a unicode identifier engine.dialect.identifier_preparer = engine.dialect.preparer(engine.dialect) - select([column(u'special_col')]).select_from(t1).execute().close() - assert isinstance(engine.dialect.identifier_preparer.format_sequence(Sequence('special_col')), unicode) + select([column('special_col')]).select_from(t1).execute().close() + assert isinstance(engine.dialect.identifier_preparer.format_sequence(Sequence('special_col')), str) # now execute, run the sequence. it should run in u"Special_col.nextid" or similar as # a unicode object; cx_oracle asserts that this is None or a String (postgresql lets it pass thru). diff --git a/test/sql/test_update.py b/test/sql/test_update.py index a8df86cd2..8695760fb 100644 --- a/test/sql/test_update.py +++ b/test/sql/test_update.py @@ -242,7 +242,7 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest, 'WHERE ' 'users.id = addresses.user_id AND ' 'addresses.email_address = :email_address_1', - checkparams={u'email_address_1': 'e1', 'name': 'newname'}) + checkparams={'email_address_1': 'e1', 'name': 'newname'}) def test_render_multi_table(self): users = self.tables.users @@ -250,8 +250,8 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest, dingalings = self.tables.dingalings checkparams = { - u'email_address_1': 'e1', - u'id_1': 2, + 'email_address_1': 'e1', + 'id_1': 2, 'name': 'newname' } @@ -285,15 +285,15 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest, 'WHERE ' 'users.id = addresses.user_id AND ' 'addresses.email_address = %s', - checkparams={u'email_address_1': 'e1', 'name': 'newname'}, + checkparams={'email_address_1': 'e1', 'name': 'newname'}, dialect=mysql.dialect()) def test_render_subquery(self): users, addresses = self.tables.users, self.tables.addresses checkparams = { - u'email_address_1': 'e1', - u'id_1': 7, + 'email_address_1': 'e1', + 'id_1': 7, 'name': 'newname' } |
