Hi Joan, On Mon, Feb 01, 2010 at 16:14 +0000, Joan Miller wrote: > The ideal would be to pass a collector to the option 'test_suite' in > setuptools, i.e. for nose [1] is used: > > test_suite = "nose.collector", > > This way has been added too to Pip [2]. Here the info. about that option [3]
This expects a unittest loader which py.test doesn't provide (yet). Your [2] also has some critical comments btw - and in general i think the current "test-during-setup/install-time" needs more thought. I'd rather fancy a mechanism to run a script with some developer-defined arguments and to allow specification of "packages needed for testing". On a practical note, did you try out the solution i sketched? It basically implements exactly that in few lines of code with the current setuptools/distribute infrastructure. If anybody wants to chime in - feel free to :) holger > > [1] > http://somethingaboutorange.com/mrl/projects/nose/0.11.1/setuptools_integration.html > [2] http://ericholscher.com/blog/2009/nov/5/adding-testing-pip/ > [3] http://peak.telecommunity.com/DevCenter/setuptools#test > > > 2010/2/1 holger krekel <hol...@merlinux.eu>: > > On Mon, Feb 01, 2010 at 12:22 +0000, Joan Miller wrote: > >> Are there plans for the integration with setuptools/distribute? > >> > >> So I would that py.test were run using *python setup.py py.test* or > >> anything so, as is made with nosetools > > > > I've seen some discussions, haven't played much with it myself yet. > > Googled a bit and came up with the below patch to one of my > > (non-py) packages. With it I could successfully do: > > > > python setup.py test # will run "py.test" > > > > and it would also take care to temporarily install "py" just for the > > testing and not as a general dependency. Happy to hear if this works > > for you and others as well. > > > > cheers, > > holger > > > > > > diff --git a/setup.py b/setup.py > > --- a/setup.py > > +++ b/setup.py > > @@ -3,6 +3,7 @@ if sys.version_info >= (3,0): > > from distribute_setup import use_setuptools > > use_setuptools() > > from setuptools import setup > > +from setuptools.command.test import test > > > > long_description = """ > > ciss: code-centered single-file "ISSUES.txt" issue tracking > > license='MIT license', > > platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'], > > author='holger krekel', > > author_email='holger at merlinux.eu', > > + cmdclass = {'test': PyTest}, > > + tests_require = ['py'], > > entry_points={'console_scripts': [ > > 'ciss = ciss:main', > > ]}, > > @@ -39,6 +42,15 @@ def main(): > > zip_safe=False, > > ) > > > > +class PyTest(test): > > + user_options = [] > > + def initialize_options(self): > > + test.initialize_options(self) > > + self.test_suite = "." > > + def run_tests(self): > > + import py > > + py.cmdline.pytest(['.']) > > + > > if __name__ == '__main__': > > main() > > > > > -- _______________________________________________ py-dev mailing list py-dev@codespeak.net http://codespeak.net/mailman/listinfo/py-dev