diff options
Diffstat (limited to 'lib/sqlalchemy/testing')
-rw-r--r-- | lib/sqlalchemy/testing/assertions.py | 24 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/fixtures.py | 12 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/plugin/noseplugin.py | 10 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/warnings.py | 4 |
4 files changed, 29 insertions, 21 deletions
diff --git a/lib/sqlalchemy/testing/assertions.py b/lib/sqlalchemy/testing/assertions.py index e01948f9c..c04153961 100644 --- a/lib/sqlalchemy/testing/assertions.py +++ b/lib/sqlalchemy/testing/assertions.py @@ -1,4 +1,4 @@ - +from __future__ import absolute_import from . import util as testutil from sqlalchemy import pool, orm, util @@ -63,7 +63,7 @@ def emits_warning_on(db, *warnings): @decorator def decorate(fn, *args, **kw): - if isinstance(db, str): + if isinstance(db, util.string_types): if not spec(config.db): return fn(*args, **kw) else: @@ -172,8 +172,8 @@ def assert_raises_message(except_cls, msg, callable_, *args, **kwargs): callable_(*args, **kwargs) assert False, "Callable did not raise an exception" except except_cls as e: - assert re.search(msg, str(e), re.UNICODE), "%r !~ %s" % (msg, e) - print(str(e).encode('utf-8')) + assert re.search(msg, util.text_type(e), re.UNICODE), "%r !~ %s" % (msg, e) + print(util.text_type(e).encode('utf-8')) class AssertsCompiledSQL(object): @@ -190,12 +190,12 @@ class AssertsCompiledSQL(object): dialect = default.DefaultDialect() elif dialect is None: dialect = config.db.dialect - elif isinstance(dialect, str): + elif isinstance(dialect, util.string_types): dialect = create_engine("%s://" % dialect).dialect kw = {} if params is not None: - kw['column_keys'] = list(params.keys()) + kw['column_keys'] = list(params) if isinstance(clause, orm.Query): context = clause._compile_context() @@ -205,13 +205,13 @@ class AssertsCompiledSQL(object): c = clause.compile(dialect=dialect, **kw) param_str = repr(getattr(c, 'params', {})) -# start Py3K - param_str = param_str.encode('utf-8').decode('ascii', 'ignore') -# end Py3K - print("\nSQL String:\n" + str(c) + param_str) + if util.py3k: + param_str = param_str.encode('utf-8').decode('ascii', 'ignore') + + print("\nSQL String:\n" + util.text_type(c) + param_str) - cc = re.sub(r'[\n\t]', '', str(c)) + cc = re.sub(r'[\n\t]', '', util.text_type(c)) eq_(cc, result, "%r != %r on dialect %r" % (cc, result, dialect)) @@ -301,7 +301,7 @@ class AssertsExecutionResults(object): found = util.IdentitySet(result) expected = set([immutabledict(e) for e in expected]) - for wrong in itertools.filterfalse(lambda o: type(o) == cls, found): + for wrong in util.itertools_filterfalse(lambda o: type(o) == cls, found): fail('Unexpected type "%s", expected "%s"' % ( type(wrong).__name__, cls.__name__)) diff --git a/lib/sqlalchemy/testing/fixtures.py b/lib/sqlalchemy/testing/fixtures.py index 08b2361f2..daa779ae3 100644 --- a/lib/sqlalchemy/testing/fixtures.py +++ b/lib/sqlalchemy/testing/fixtures.py @@ -1,6 +1,7 @@ from . import config from . import assertions, schema from .util import adict +from .. import util from .engines import drop_all_tables from .entities import BasicEntity, ComparableEntity import sys @@ -126,8 +127,9 @@ class TablesTest(TestBase): try: table.delete().execute().close() except sa.exc.DBAPIError as ex: - print("Error emptying table %s: %r" % ( - table, ex), file=sys.stderr) + util.print_( + ("Error emptying table %s: %r" % (table, ex)), + file=sys.stderr) def setup(self): self._setup_each_tables() @@ -190,7 +192,7 @@ class TablesTest(TestBase): for table, data in cls.fixtures().items(): if len(data) < 2: continue - if isinstance(table, str): + if isinstance(table, util.string_types): table = cls.tables[table] headers[table] = data[0] rows[table] = data[1:] @@ -199,7 +201,7 @@ class TablesTest(TestBase): continue cls.bind.execute( table.insert(), - [dict(list(zip(headers[table], column_values))) + [dict(zip(headers[table], column_values)) for column_values in rows[table]]) @@ -284,7 +286,7 @@ class MappedTest(_ORMTest, TablesTest, assertions.AssertsExecutionResults): cls_registry[classname] = cls return type.__init__(cls, classname, bases, dict_) - class _Base(object, metaclass=FindFixture): + class _Base(util.with_metaclass(FindFixture, object)): pass class Basic(BasicEntity, _Base): diff --git a/lib/sqlalchemy/testing/plugin/noseplugin.py b/lib/sqlalchemy/testing/plugin/noseplugin.py index 7ad61c7b9..b3cd3a4e3 100644 --- a/lib/sqlalchemy/testing/plugin/noseplugin.py +++ b/lib/sqlalchemy/testing/plugin/noseplugin.py @@ -10,13 +10,19 @@ normally as "from sqlalchemy.testing.plugin import noseplugin". """ +from __future__ import absolute_import import os -import configparser +import sys +py3k = sys.version_info >= (3, 0) + +if py3k: + import configparser +else: + import ConfigParser as configparser from nose.plugins import Plugin from nose import SkipTest -import time import sys import re diff --git a/lib/sqlalchemy/testing/warnings.py b/lib/sqlalchemy/testing/warnings.py index 9546945eb..6193acd88 100644 --- a/lib/sqlalchemy/testing/warnings.py +++ b/lib/sqlalchemy/testing/warnings.py @@ -1,4 +1,4 @@ - +from __future__ import absolute_import import warnings from .. import exc as sa_exc @@ -10,7 +10,7 @@ def testing_warn(msg, stacklevel=3): filename = "sqlalchemy.testing.warnings" lineno = 1 - if isinstance(msg, str): + if isinstance(msg, util.string_types): warnings.warn_explicit(msg, sa_exc.SAWarning, filename, lineno) else: warnings.warn_explicit(msg, filename, lineno) |