[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Current state of packaging Python software for Debian



On Wed, Jun 15, 2011 at 10:18:25AM +0200, Zygmunt Krynicki wrote:
> W dniu 15.06.2011 03:28, Ben Finney pisze:
> 
> >>>If we are talking from a perspective of upstream developers that
> >>>also maintain their packages then I would *love* to see setup.py
> >>>sdist-test and would use it each day.
> >>
> >>;-)
> >
> >How would a putative ‘sdist_test’ differ from ‘test’? Why is this an
> >argument for a new command, and not an argument to improve what is done
> >by ‘test’ anyway?
> 
> Pure test runs the test on the check-out of the code and is usually
> invoked by the upstream developer. It can (and often does) run on a
> superset of files that are distributed with sdist).
> 
> In contrast, the theoretical sdist_test would first create a release
> tarball with sdist, unpack it to some temporary directory and run
> `setup.py test` there.
> 
> Such a command would be useful for checking that project manifest
> file contains everything desired to make the program run correctly
> (I often miss something and only realise it's missing when I start
> packaging).
> 
> IMHO it should be a separate command to ensure that 1) stuff that
> works today keeps working 2) there is no performance penalty for
> running setup.py test that would be required by setup.py sdist_test.

I think what you really want to do is test an installation. I.e. run the
tests from the source code on an installation. Note that the
installation should not necessarily have to contain the tests.

Theres some code and a spec out there to standardize this for Debian
source/binary packages, see the recent debian-devel thread [1].

I've done this for some python-zope.* packages, but I need to use a very
non-standard testrunner incantation to run the tests. I'm also forced to
install the tests.

Ideal would be some kind of standard:

    $ pysetup test-installation

command which would run the tests from an unpacked sdist against an
installation which is expected to already be on the python path.

[1] http://lists.debian.org/debian-devel/2011/01/msg00813.html

-- 
Brian Sutherland


Reply to: