diff options
-rw-r--r-- | docs/build/unreleased/592.rst | 15 | ||||
-rw-r--r-- | setup.py | 29 | ||||
-rw-r--r-- | tox.ini | 5 |
3 files changed, 29 insertions, 20 deletions
diff --git a/docs/build/unreleased/592.rst b/docs/build/unreleased/592.rst new file mode 100644 index 0000000..f25d33a --- /dev/null +++ b/docs/build/unreleased/592.rst @@ -0,0 +1,15 @@ +.. 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 @@ -26,24 +26,19 @@ requires = [ ] -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( @@ -77,7 +72,7 @@ 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"]}, @@ -1,6 +1,6 @@ [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} @@ -51,9 +51,8 @@ commands= {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 |