diff options
author | mike bayer <mike_mp@zzzcomputing.com> | 2021-06-26 14:20:13 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2021-06-26 14:20:13 +0000 |
commit | 79f84f71e1045aafed389e7b22112c3d706d0bac (patch) | |
tree | 193eb6d8b7a1075ddf325f932d1c0ab286fa3cce /alembic/testing | |
parent | 64c9edf283520c38738e240fc011ce963c8bd9c5 (diff) | |
parent | b511670231e99c5278d58e789f9efb7855488b41 (diff) | |
download | alembic-79f84f71e1045aafed389e7b22112c3d706d0bac.tar.gz |
Merge "Drop compatibility with python 2.7."
Diffstat (limited to 'alembic/testing')
-rw-r--r-- | alembic/testing/__init__.py | 55 | ||||
-rw-r--r-- | alembic/testing/assertions.py | 15 | ||||
-rw-r--r-- | alembic/testing/env.py | 21 | ||||
-rw-r--r-- | alembic/testing/fixtures.py | 11 | ||||
-rw-r--r-- | alembic/testing/requirements.py | 5 | ||||
-rw-r--r-- | alembic/testing/schemacompare.py | 14 | ||||
-rw-r--r-- | alembic/testing/suite/_autogen_fixtures.py | 4 | ||||
-rw-r--r-- | alembic/testing/suite/test_autogen_comments.py | 3 | ||||
-rw-r--r-- | alembic/testing/suite/test_autogen_diffs.py | 3 | ||||
-rw-r--r-- | alembic/testing/suite/test_autogen_fks.py | 3 | ||||
-rw-r--r-- | alembic/testing/suite/test_environment.py | 8 |
11 files changed, 53 insertions, 89 deletions
diff --git a/alembic/testing/__init__.py b/alembic/testing/__init__.py index 50f1f4b..05b2e34 100644 --- a/alembic/testing/__init__.py +++ b/alembic/testing/__init__.py @@ -1,32 +1,31 @@ -from sqlalchemy.testing import config # noqa -from sqlalchemy.testing import emits_warning # noqa -from sqlalchemy.testing import engines # noqa -from sqlalchemy.testing import exclusions # noqa -from sqlalchemy.testing import mock # noqa -from sqlalchemy.testing import provide_metadata # noqa -from sqlalchemy.testing import uses_deprecated # noqa -from sqlalchemy.testing.config import combinations # noqa -from sqlalchemy.testing.config import fixture # noqa -from sqlalchemy.testing.config import requirements as requires # noqa +from sqlalchemy.testing import config +from sqlalchemy.testing import emits_warning +from sqlalchemy.testing import engines +from sqlalchemy.testing import exclusions +from sqlalchemy.testing import mock +from sqlalchemy.testing import provide_metadata +from sqlalchemy.testing import uses_deprecated +from sqlalchemy.testing.config import combinations +from sqlalchemy.testing.config import fixture +from sqlalchemy.testing.config import requirements as requires -from alembic import util # noqa -from .assertions import assert_raises # noqa -from .assertions import assert_raises_message # noqa -from .assertions import emits_python_deprecation_warning # noqa -from .assertions import eq_ # noqa -from .assertions import eq_ignore_whitespace # noqa -from .assertions import expect_raises # noqa -from .assertions import expect_raises_message # noqa -from .assertions import expect_sqlalchemy_deprecated # noqa -from .assertions import expect_sqlalchemy_deprecated_20 # noqa -from .assertions import expect_warnings # noqa -from .assertions import is_ # noqa -from .assertions import is_false # noqa -from .assertions import is_not_ # noqa -from .assertions import is_true # noqa -from .assertions import ne_ # noqa -from .fixtures import TestBase # noqa -from .util import resolve_lambda # noqa +from .assertions import assert_raises +from .assertions import assert_raises_message +from .assertions import emits_python_deprecation_warning +from .assertions import eq_ +from .assertions import eq_ignore_whitespace +from .assertions import expect_raises +from .assertions import expect_raises_message +from .assertions import expect_sqlalchemy_deprecated +from .assertions import expect_sqlalchemy_deprecated_20 +from .assertions import expect_warnings +from .assertions import is_ +from .assertions import is_false +from .assertions import is_not_ +from .assertions import is_true +from .assertions import ne_ +from .fixtures import TestBase +from .util import resolve_lambda try: from sqlalchemy.testing import asyncio diff --git a/alembic/testing/assertions.py b/alembic/testing/assertions.py index 6d39f4c..e22ac6b 100644 --- a/alembic/testing/assertions.py +++ b/alembic/testing/assertions.py @@ -17,7 +17,6 @@ from sqlalchemy.testing.assertions import ne_ # noqa from sqlalchemy.util import decorator from ..util import sqla_compat -from ..util.compat import py3k def _assert_proper_exception_context(exception): @@ -30,9 +29,6 @@ def _assert_proper_exception_context(exception): """ - if not util.py3k: - return - if ( exception.__context__ is not exception.__cause__ and not exception.__suppress_context__ @@ -73,7 +69,7 @@ def _assert_raises( return ec.error -class _ErrorContainer(object): +class _ErrorContainer: error = None @@ -109,21 +105,12 @@ def expect_raises_message(except_cls, msg, check_context=True): def eq_ignore_whitespace(a, b, msg=None): - # sqlalchemy.testing.assertion has this function - # but not with the special "!U" detection part a = re.sub(r"^\s+?|\n", "", a) a = re.sub(r" {2,}", " ", a) b = re.sub(r"^\s+?|\n", "", b) b = re.sub(r" {2,}", " ", b) - # convert for unicode string rendering, - # using special escape character "!U" - if py3k: - b = re.sub(r"!U", "", b) - else: - b = re.sub(r"!U", "u", b) - assert a == b, msg or "%r != %r" % (a, b) diff --git a/alembic/testing/env.py b/alembic/testing/env.py index 62b74ec..2947085 100644 --- a/alembic/testing/env.py +++ b/alembic/testing/env.py @@ -1,5 +1,5 @@ #!coding: utf-8 - +import importlib.machinery import os import shutil import textwrap @@ -11,9 +11,6 @@ from . import util as testing_util from .. import util from ..script import Script from ..script import ScriptDirectory -from ..util.compat import get_current_bytecode_suffixes -from ..util.compat import has_pep3147 -from ..util.compat import u def _get_staging_directory(): @@ -290,15 +287,13 @@ def make_sourceless(path, style): py_compile.compile(path) - if style == "simple" and has_pep3147(): + if style == "simple": pyc_path = util.pyc_file_from_path(path) - suffix = get_current_bytecode_suffixes()[0] + suffix = importlib.machinery.BYTECODE_SUFFIXES[0] filepath, ext = os.path.splitext(path) simple_pyc_path = filepath + suffix shutil.move(pyc_path, simple_pyc_path) pyc_path = simple_pyc_path - elif style == "pep3147" and not has_pep3147(): - raise NotImplementedError() else: assert style in ("pep3147", "simple") pyc_path = util.pyc_file_from_path(path) @@ -341,11 +336,10 @@ def downgrade(): write_script( script, b, - u( - """# coding: utf-8 + f"""# coding: utf-8 "Rev B, méil, %3" -revision = '{}' -down_revision = '{}' +revision = '{b}' +down_revision = '{a}' from alembic import op @@ -357,8 +351,7 @@ def upgrade(): def downgrade(): op.execute("DROP STEP 2") -""" - ).format(b, a), +""", encoding="utf-8", ) diff --git a/alembic/testing/fixtures.py b/alembic/testing/fixtures.py index d5d45ac..cccc382 100644 --- a/alembic/testing/fixtures.py +++ b/alembic/testing/fixtures.py @@ -1,4 +1,5 @@ # coding: utf-8 +import configparser from contextlib import contextmanager import io import re @@ -21,9 +22,7 @@ from .assertions import _get_dialect from ..environment import EnvironmentContext from ..migration import MigrationContext from ..operations import Operations -from ..util import compat from ..util import sqla_compat -from ..util.compat import configparser from ..util.compat import string_types from ..util.compat import text_type from ..util.sqla_compat import create_mock_engine @@ -62,7 +61,7 @@ if sqla_14: from sqlalchemy.testing.fixtures import FutureEngineMixin else: - class FutureEngineMixin(object): + class FutureEngineMixin: __requires__ = ("sqlalchemy_14",) @@ -105,7 +104,7 @@ def capture_engine_context_buffer(**kw): from .env import _sqlite_file_db from sqlalchemy import event - buf = compat.StringIO() + buf = io.StringIO() eng = _sqlite_file_db() @@ -138,7 +137,7 @@ def op_fixture( if naming_convention: opts["target_metadata"] = MetaData(naming_convention=naming_convention) - class buffer_(object): + class buffer_: def __init__(self): self.lines = [] @@ -215,7 +214,7 @@ def op_fixture( return context -class AlterColRoundTripFixture(object): +class AlterColRoundTripFixture: # since these tests are about syntax, use more recent SQLAlchemy as some of # the type / server default compare logic might not work on older diff --git a/alembic/testing/requirements.py b/alembic/testing/requirements.py index dac7ecd..f1792f8 100644 --- a/alembic/testing/requirements.py +++ b/alembic/testing/requirements.py @@ -92,11 +92,6 @@ class SuiteRequirements(Requirements): ) @property - def pep3147(self): - - return exclusions.only_if(lambda config: util.compat.has_pep3147()) - - @property def comments(self): return exclusions.only_if( lambda config: config.db.dialect.supports_comments diff --git a/alembic/testing/schemacompare.py b/alembic/testing/schemacompare.py index c3a7382..500cee8 100644 --- a/alembic/testing/schemacompare.py +++ b/alembic/testing/schemacompare.py @@ -2,7 +2,7 @@ from sqlalchemy import schema from sqlalchemy import util -class CompareTable(object): +class CompareTable: def __init__(self, table): self.table = table @@ -26,7 +26,7 @@ class CompareTable(object): return not self.__eq__(other) -class CompareColumn(object): +class CompareColumn: def __init__(self, column): self.column = column @@ -41,7 +41,7 @@ class CompareColumn(object): return not self.__eq__(other) -class CompareIndex(object): +class CompareIndex: def __init__(self, index): self.index = index @@ -56,7 +56,7 @@ class CompareIndex(object): return not self.__eq__(other) -class CompareCheckConstraint(object): +class CompareCheckConstraint: def __init__(self, constraint): self.constraint = constraint @@ -73,7 +73,7 @@ class CompareCheckConstraint(object): return not self.__eq__(other) -class CompareForeignKey(object): +class CompareForeignKey: def __init__(self, constraint): self.constraint = constraint @@ -99,7 +99,7 @@ class CompareForeignKey(object): return not self.__eq__(other) -class ComparePrimaryKey(object): +class ComparePrimaryKey: def __init__(self, constraint): self.constraint = constraint @@ -127,7 +127,7 @@ class ComparePrimaryKey(object): return not self.__eq__(other) -class CompareUniqueConstraint(object): +class CompareUniqueConstraint: def __init__(self, constraint): self.constraint = constraint diff --git a/alembic/testing/suite/_autogen_fixtures.py b/alembic/testing/suite/_autogen_fixtures.py index 6a03a30..44fc24f 100644 --- a/alembic/testing/suite/_autogen_fixtures.py +++ b/alembic/testing/suite/_autogen_fixtures.py @@ -45,7 +45,7 @@ _default_object_filters = _default_include_object _default_name_filters = None -class ModelOne(object): +class ModelOne: __requires__ = ("unique_constraint_reflection",) schema = None @@ -143,7 +143,7 @@ class ModelOne(object): return m -class _ComparesFKs(object): +class _ComparesFKs: def _assert_fk_diff( self, diff, diff --git a/alembic/testing/suite/test_autogen_comments.py b/alembic/testing/suite/test_autogen_comments.py index 4e8ec5a..7ef074f 100644 --- a/alembic/testing/suite/test_autogen_comments.py +++ b/alembic/testing/suite/test_autogen_comments.py @@ -8,9 +8,6 @@ from ._autogen_fixtures import AutogenFixtureTest from ...testing import eq_ from ...testing import mock from ...testing import TestBase -from ...util import compat - -py3k = compat.py3k class AutogenerateCommentsTest(AutogenFixtureTest, TestBase): diff --git a/alembic/testing/suite/test_autogen_diffs.py b/alembic/testing/suite/test_autogen_diffs.py index eafd1a8..75bcd37 100644 --- a/alembic/testing/suite/test_autogen_diffs.py +++ b/alembic/testing/suite/test_autogen_diffs.py @@ -11,9 +11,6 @@ from ...testing import config from ...testing import eq_ from ...testing import is_ from ...testing import TestBase -from ...util import compat - -py3k = compat.py3k class AlterColumnTest(AutogenFixtureTest, TestBase): diff --git a/alembic/testing/suite/test_autogen_fks.py b/alembic/testing/suite/test_autogen_fks.py index f369b4c..0240b98 100644 --- a/alembic/testing/suite/test_autogen_fks.py +++ b/alembic/testing/suite/test_autogen_fks.py @@ -11,9 +11,6 @@ from ...testing import config from ...testing import eq_ from ...testing import mock from ...testing import TestBase -from ...util import compat - -py3k = compat.py3k class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase): diff --git a/alembic/testing/suite/test_environment.py b/alembic/testing/suite/test_environment.py index 2d3e97e..a761632 100644 --- a/alembic/testing/suite/test_environment.py +++ b/alembic/testing/suite/test_environment.py @@ -1,4 +1,5 @@ -#!coding: utf-8 +import io + from ...migration import MigrationContext from ...testing import assert_raises from ...testing import config @@ -6,7 +7,6 @@ from ...testing import eq_ from ...testing import is_false from ...testing import is_true from ...testing.fixtures import TestBase -from ...util import compat class MigrationTransactionTest(TestBase): @@ -23,7 +23,7 @@ class MigrationTransactionTest(TestBase): ) self.context.output_buffer = ( self.context.impl.output_buffer - ) = compat.StringIO() + ) = io.StringIO() else: self.context = MigrationContext.configure( connection=conn, opts=opts @@ -308,7 +308,7 @@ class MigrationTransactionTest(TestBase): def _assert_impl_steps(self, *steps): to_check = self.context.output_buffer.getvalue() - self.context.impl.output_buffer = buf = compat.StringIO() + self.context.impl.output_buffer = buf = io.StringIO() for step in steps: if step == "BEGIN": self.context.impl.emit_begin() |