[Python-Dev] Python Language Summit at PyCon: Agenda
Barry Warsaw
barry at python.org
Mon Mar 4 20:14:57 CET 2013
On Mar 04, 2013, at 07:41 PM, Antoine Pitrou wrote:
>> $ python -m unittest discover
>> $ python setup.py test
>> $ python setup.py nosetests
>> $ python -m nose test
>> $ nosetests-X.Y
>>
>> Besides having a multitude of choices, there's almost no way to
>> automatically discover (e.g. by metadata inspection or some such) how to
>> invoke the tests. You're often lucky if there's a README.test and it's
>> still accurate.
>
>I hope we can have a "pytest" utility that does the right thing in 3.4 :-)
>Typing "python -m unittest discover" is too cumbersome.
Where is this work being done (e.g. is there a PEP)?
One thing to keep in mind is how to invoke this on a system with multiple
versions of Python available. For example, in Debian, a decision was recently
made to drop all the nosetests-X.Y scripts from /usr/bin[1].
This makes sense when you think about having at least two major versions of
Python (2.x and 3.x) and maybe up to four (2.6, 2.7, 3.2, 3.3), *plus* debug
versions of each. Add to that, we don't actually know at package build time
which versions of Python you might have installed on your system.
A suggestion was made to provide a main entry point so that `pythonX.Y -m
nose` would work, which makes sense to me and was adopted by the
nose-devs[2].
So while a top level `pytest` command may make sense, it also might not ;).
While PEP 426 has a way to declare test dependencies (a good thing), it seems
to have no way to declare how to actually run the tests.
Cheers,
-Barry
[1] Start of thread:
http://comments.gmane.org/gmane.linux.debian.devel.python/8572
[2] https://github.com/nose-devs/nose/issues/634
More information about the Python-Dev
mailing list