From ac848a295a934076de43fc902d2cc14bb32cb1be Mon Sep 17 00:00:00 2001 From: chrisw Date: Tue, 7 Sep 2010 19:19:32 +0100 Subject: [PATCH] hopefully make py2.4 compatible --- migrate/tests/changeset/test_changeset.py | 11 ++++++++--- migrate/tests/versioning/test_util.py | 19 ++++++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/migrate/tests/changeset/test_changeset.py b/migrate/tests/changeset/test_changeset.py index 6f2e6e8..d203cd4 100644 --- a/migrate/tests/changeset/test_changeset.py +++ b/migrate/tests/changeset/test_changeset.py @@ -1,6 +1,5 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from __future__ import with_statement import sqlalchemy import warnings @@ -551,7 +550,11 @@ class TestColumnChange(fixture.DB): @fixture.usedb() def test_alter_metadata_deprecated(self): - with catch_warnings(record=True) as w: + try: + # py 2.4 compatability :-/ + cw = catch_warnings(record=True) + w = cw.__enter__() + warnings.simplefilter("always") self.table.c.data.alter(Column('data', String(100))) @@ -562,7 +565,9 @@ class TestColumnChange(fixture.DB): 'Passing a Column object to alter_column is deprecated. ' 'Just pass in keyword parameters instead.', str(w[-1].message)) - + finally: + cw.__exit__() + @fixture.usedb() def test_alter_metadata(self): """Test if alter_metadata is respected""" diff --git a/migrate/tests/versioning/test_util.py b/migrate/tests/versioning/test_util.py index 64285ee..b18d1d4 100644 --- a/migrate/tests/versioning/test_util.py +++ b/migrate/tests/versioning/test_util.py @@ -1,6 +1,5 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from __future__ import with_statement import os @@ -41,7 +40,11 @@ class TestUtil(fixture.Pathed): self.assertTrue(engine.dialect.encoding) # deprecated echo=True parameter - with catch_warnings(record=True) as w: + try: + # py 2.4 compatability :-/ + cw = catch_warnings(record=True) + w = cw.__enter__() + warnings.simplefilter("always") engine = construct_engine(url, echo='True') self.assertTrue(engine.echo) @@ -54,6 +57,9 @@ class TestUtil(fixture.Pathed): 'engine_arg_echo=True or engine_dict={"echo": True}', str(w[-1].message)) + finally: + cw.__exit__() + # unsupported argument self.assertRaises(ValueError, construct_engine, 1) @@ -83,7 +89,11 @@ class TestUtil(fixture.Pathed): f.write("class FakeFloat(int): pass") f.close() - with catch_warnings(record=True) as w: + try: + # py 2.4 compatability :-/ + cw = catch_warnings(record=True) + w = cw.__enter__() + warnings.simplefilter("always") # deprecated spelling @@ -97,6 +107,9 @@ class TestUtil(fixture.Pathed): 'model should be in form of module.model:User ' 'and not module.model.User', str(w[-1].message)) + + finally: + cw.__exit__() FakeFloat = load_model('test_load_model:FakeFloat') self.assert_(isinstance(FakeFloat(), int))