On Tue, Oct 6, 2015 at 6:08 PM, Ionel Cristian Mărieș <cont...@ionelmc.ro> wrote: > > On Wed, Oct 7, 2015 at 12:51 AM, Ben Finney <ben+pyt...@benfinney.id.au> > wrote: >> >> I think the above describes the standard way of declaring the test >> runner: The ‘setup.py test’ command. >> >> Now, I lament that more Python projects don't *conform to* that >> standard, but at least it exists. > > > There's a very simple answer to that: easy_install (that's what `setup.py > test` will use to install deps). It has several design issue wrt how > packages are installed and how dependencies are managed. > > Lets not use `setup.py test`. It's either bad or useless.
Says who? Many of the projects I'm involved in use `setup.py test` exclusively and for good reason--they all have C and/or Cython extension modules that need to be built for the tests to even run. Only setup.py knows about those extension modules and how to find and build them. Using `setup.py test` ensures that everything required to run the package (including runtime dependencies) is built and ready, and then the tests can start. Without it, we would have to tell developers to go through a build process first and then make sure they're running the tests on the built code. `setup.py test` makes it a no-brainer. For pure Python packages I think it's less important and can usually rely on "just run 'nose', or 'py.test'" (or "tox" but that's true regardless of how the tests are invoked outside of tox). Best, Erik _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig