--- /dev/null
+.. change::
+ :tags: bug, setup
+ :tickets: 592
+
+ Removed the "python setup.py test" feature in favor of a straight run of
+ "tox". Per Pypa / pytest developers, "setup.py" commands are in general
+ headed towards deprecation in favor of tox. The tox.ini script has been
+ updated such that running "tox" with no arguments will perform a single run
+ of the test suite against the default installed Python interpreter.
+
+ .. seealso::
+
+ https://github.com/pypa/setuptools/issues/1684
+
+ https://github.com/pytest-dev/pytest/issues/5534
]
-class PyTest(TestCommand):
- user_options = [("pytest-args=", "a", "Arguments to pass to py.test")]
-
- def initialize_options(self):
- TestCommand.initialize_options(self)
- self.pytest_args = []
-
- def finalize_options(self):
- TestCommand.finalize_options(self)
- self.test_args = []
- self.test_suite = True
+class UseTox(TestCommand):
+ RED = 31
+ RESET_SEQ = "\033[0m"
+ BOLD_SEQ = "\033[1m"
+ COLOR_SEQ = "\033[1;%dm"
def run_tests(self):
- # import here, cause outside the eggs aren't loaded
- import pytest
-
- errno = pytest.main(self.pytest_args)
- sys.exit(errno)
+ sys.stderr.write(
+ "%s%spython setup.py test is deprecated by pypa. Please invoke "
+ "'tox' with no arguments for a basic test run.\n%s"
+ % (self.COLOR_SEQ % self.RED, self.BOLD_SEQ, self.RESET_SEQ)
+ )
+ sys.exit(1)
setup(
packages=find_packages(".", exclude=["examples*", "test*"]),
include_package_data=True,
tests_require=["pytest!=3.9.1,!=3.9.2", "mock", "Mako"],
- cmdclass={"test": PyTest},
+ cmdclass={"test": UseTox},
zip_safe=False,
install_requires=requires,
entry_points={"console_scripts": ["alembic = alembic.config:main"]},
[tox]
-envlist = py{27,34,35,36,37}-sqla{11,12,13,master}
+envlist = py
SQLA_REPO = {env:SQLA_REPO:git+https://github.com/sqlalchemy/sqlalchemy.git}
{oracle,mssql}: python reap_dbs.py db_idents.txt
-# thanks to https://julien.danjou.info/the-best-flake8-extensions/
[testenv:pep8]
-basepython = python3.7
+basepython = python3
deps=
flake8
flake8-import-order