diff --git a/6bdb90.patch b/6bdb90.patch new file mode 100644 index 0000000..aef0293 --- /dev/null +++ b/6bdb90.patch @@ -0,0 +1,89 @@ +From 6bdb9043868d4bd04ebe3fe8a4991735d5f87ed3 Mon Sep 17 00:00:00 2001 +From: Mike Bayer +Date: Sun, 3 Mar 2024 23:11:50 -0500 +Subject: [PATCH] use SQLAlchemy's xdist methods + +Fixes to support pytest 8.1 for the test suite. + +the use of teardown() was based on pytest's nose +compat, which is removed. their xdist style tests use the name +"setup_method()" and "teardown_method()" now. + +We have SQLAlchemy's pytestplugin in use which uses pytest fixtures +to invoke our own xdist style setUp and tearDown methods, which we +are already using here, so use those for this one test. + +Fixes: #1435 +Change-Id: I4c49e81fca6bfa957594714009531fe12691ace5 +--- + docs/build/unreleased/1435.rst | 5 +++++ + tests/test_command.py | 15 +++++++-------- + tox.ini | 2 +- + 3 files changed, 13 insertions(+), 9 deletions(-) + create mode 100644 docs/build/unreleased/1435.rst + +diff --git a/docs/build/unreleased/1435.rst b/docs/build/unreleased/1435.rst +new file mode 100644 +index 00000000..8f9e4cd0 +--- /dev/null ++++ b/docs/build/unreleased/1435.rst +@@ -0,0 +1,5 @@ ++.. change:: ++ :tags: bug, tests ++ :tickets: 1435 ++ ++ Fixes to support pytest 8.1 for the test suite. +diff --git a/tests/test_command.py b/tests/test_command.py +index c665f955..04a624ad 100644 +--- a/tests/test_command.py ++++ b/tests/test_command.py +@@ -64,7 +64,7 @@ def setup_class(cls): + def teardown_class(cls): + clear_staging_env() + +- def teardown(self): ++ def tearDown(self): + self.cfg.set_main_option("revision_environment", "false") + + @classmethod +@@ -206,13 +206,12 @@ def test_history_indicate_current(self): + + + class RevisionEnvironmentTest(_BufMixin, TestBase): +- @classmethod +- def setup(cls): +- cls.env = staging_env() +- cls.cfg = _sqlite_testing_config() +- cls._setup_env_file() ++ def setUp(self): ++ self.env = staging_env() ++ self.cfg = _sqlite_testing_config() ++ self._setup_env_file() + +- def teardown(self): ++ def tearDown(self): + self.cfg.set_main_option("revision_environment", "false") + clear_staging_env() + +@@ -1144,7 +1143,7 @@ def setup_class(cls): + cls.cfg = _sqlite_testing_config() + cls.a, cls.b, cls.c = three_rev_fixture(cls.cfg) + +- def teardown(self): ++ def tearDown(self): + os.environ.pop("ALEMBIC_CONFIG", None) + + @classmethod +diff --git a/tox.ini b/tox.ini +index 3b4c1ff7..4b0f082b 100644 +--- a/tox.ini ++++ b/tox.ini +@@ -8,7 +8,7 @@ SQLA_REPO = {env:SQLA_REPO:git+https://github.com/sqlalchemy/sqlalchemy.git} + [testenv] + cov_args=--cov=alembic --cov-report term --cov-report xml + +-deps=pytest>4.6 ++deps=pytest>4.6,<8.2 + pytest-xdist + sqla13: pytest<7 + sqla13: {[tox]SQLA_REPO}@rel_1_3#egg=sqlalchemy diff --git a/python-alembic.spec b/python-alembic.spec index da51524..9e4c746 100644 --- a/python-alembic.spec +++ b/python-alembic.spec @@ -8,6 +8,9 @@ License: MIT URL: https://pypi.io/project/alembic Source0: %{pypi_source alembic} +# Compatibility with pytest 8 +Patch: https://github.com/sqlalchemy/alembic/commit/6bdb90.patch + BuildArch: noarch BuildRequires: help2man