summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/aaa_profiling/test_compiler.py2
-rw-r--r--test/aaa_profiling/test_memusage.py2
-rw-r--r--test/aaa_profiling/test_orm.py16
-rw-r--r--test/aaa_profiling/test_resultset.py6
-rw-r--r--test/aaa_profiling/test_zoomark.py102
-rw-r--r--test/aaa_profiling/test_zoomark_orm.py88
-rw-r--r--test/base/test_dependency.py6
-rw-r--r--test/base/test_events.py4
-rw-r--r--test/base/test_except.py31
-rw-r--r--test/base/test_utils.py159
-rw-r--r--test/dialect/test_firebird.py2
-rw-r--r--test/dialect/test_mssql.py30
-rw-r--r--test/dialect/test_mysql.py34
-rw-r--r--test/dialect/test_oracle.py32
-rw-r--r--test/dialect/test_postgresql.py44
-rw-r--r--test/dialect/test_sqlite.py10
-rw-r--r--test/dialect/test_sybase.py2
-rw-r--r--test/engine/test_bind.py6
-rw-r--r--test/engine/test_ddlemit.py2
-rw-r--r--test/engine/test_ddlevents.py2
-rw-r--r--test/engine/test_execute.py32
-rw-r--r--test/engine/test_parseconnect.py12
-rw-r--r--test/engine/test_pool.py30
-rw-r--r--test/engine/test_processors.py4
-rw-r--r--test/engine/test_reconnect.py24
-rw-r--r--test/engine/test_reflection.py18
-rw-r--r--test/engine/test_transaction.py20
-rw-r--r--test/ext/declarative/test_basic.py13
-rw-r--r--test/ext/declarative/test_clsregistry.py2
-rw-r--r--test/ext/declarative/test_inheritance.py2
-rw-r--r--test/ext/declarative/test_mixin.py24
-rw-r--r--test/ext/test_associationproxy.py32
-rw-r--r--test/ext/test_serializer.py14
-rw-r--r--test/orm/inheritance/test_assorted_poly.py16
-rw-r--r--test/orm/inheritance/test_basic.py10
-rw-r--r--test/orm/inheritance/test_concrete.py4
-rw-r--r--test/orm/inheritance/test_magazine.py8
-rw-r--r--test/orm/inheritance/test_manytomany.py16
-rw-r--r--test/orm/inheritance/test_polymorphic_rel.py256
-rw-r--r--test/orm/inheritance/test_productspec.py20
-rw-r--r--test/orm/inheritance/test_relationship.py2
-rw-r--r--test/orm/inheritance/test_with_poly.py22
-rw-r--r--test/orm/test_assorted_eager.py18
-rw-r--r--test/orm/test_attributes.py8
-rw-r--r--test/orm/test_collection.py18
-rw-r--r--test/orm/test_composites.py4
-rw-r--r--test/orm/test_deprecations.py2
-rw-r--r--test/orm/test_dynamic.py28
-rw-r--r--test/orm/test_eager_relations.py46
-rw-r--r--test/orm/test_expire.py2
-rw-r--r--test/orm/test_froms.py244
-rw-r--r--test/orm/test_generative.py37
-rw-r--r--test/orm/test_inspect.py4
-rw-r--r--test/orm/test_instrumentation.py49
-rw-r--r--test/orm/test_joins.py34
-rw-r--r--test/orm/test_loading.py4
-rw-r--r--test/orm/test_mapper.py63
-rw-r--r--test/orm/test_merge.py6
-rw-r--r--test/orm/test_naturalpks.py6
-rw-r--r--test/orm/test_pickled.py12
-rw-r--r--test/orm/test_query.py83
-rw-r--r--test/orm/test_relationships.py26
-rw-r--r--test/orm/test_session.py12
-rw-r--r--test/orm/test_subquery_relations.py6
-rw-r--r--test/orm/test_unitofwork.py49
-rw-r--r--test/orm/test_unitofworkv2.py12
-rw-r--r--test/orm/test_update_delete.py24
-rw-r--r--test/orm/test_utils.py30
-rw-r--r--test/perf/insertspeed.py18
-rw-r--r--test/perf/objselectspeed.py8
-rw-r--r--test/perf/objupdatespeed.py8
-rw-r--r--test/perf/orm2010.py18
-rw-r--r--test/perf/ormsession.py8
-rw-r--r--test/perf/stress_all.py30
-rw-r--r--test/perf/stresstest.py28
-rw-r--r--test/perf/threaded_compile.py22
-rw-r--r--test/sql/test_compiler.py18
-rw-r--r--test/sql/test_defaults.py28
-rw-r--r--test/sql/test_functions.py4
-rw-r--r--test/sql/test_generative.py16
-rw-r--r--test/sql/test_metadata.py4
-rw-r--r--test/sql/test_query.py42
-rw-r--r--test/sql/test_quote.py10
-rw-r--r--test/sql/test_rowcount.py6
-rw-r--r--test/sql/test_selectable.py34
-rw-r--r--test/sql/test_types.py91
-rw-r--r--test/sql/test_unicode.py80
-rw-r--r--test/sql/test_update.py12
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'
}