[pydotorg-www] Proposal: dev.pypi.python.org

Michael Foord mfoord at python.org
Mon Apr 4 16:25:56 CEST 2011

On 04/04/2011 15:14, Carl Karsten wrote:
> On Mon, Apr 4, 2011 at 4:34 AM, Michael Foord <mfoord at python.org 
> <mailto:mfoord at python.org>> wrote:
>     On 04/04/2011 03:01, Richard Jones wrote:
>         On Mon, Apr 4, 2011 at 9:14 AM, "Martin v.
>         Löwis"<martin at v.loewis.de <mailto:martin at v.loewis.de>>  wrote:
>                 That sounds awesome, especially for testing tools that
>                 have to interact
>                 with pypi.
>             Actually, for testing tools, I think the requirements are
>             quite
>             different: you want concurrent runs of the same test case
>             on multiple
>             machines, so you need to make sure they don't collide.
>             So for that use case, I rather suggest to setup an
>             installation that
>             allows dynamic creation of PyPI instances, each one good
>             for only an
>             hour. Their URLs would be test.pypi.python.org/
>             <http://test.pypi.python.org/><generatedid>.
>         I believe such tests should be run against a mocked PyPI so
>         the test
>         has complete control over responses and error cases.
>     For integration level tests running against a mocked server is
>     fine. However if pypi behaviour changes your mocks won't reflect
>     that, so your tests could be passing but your code broken. For
>     functional level tests you ideally want to run against a  *real*
>     implementation of pypi - preferably local (and under your control)
>     but having a dev server to run against would be the next best thing.
> Can you give an example of "pypi behaviour changes" - I am not 
> gripping what you mean.
If the API changes, or even corner cases where your mocks behave 
differently, then testing against a mock instead of the real thing will 
bite you.

For testing there are two competing principles that you have to balance 
- don't depend on external services for your tests, but also do 
end-to-end tests against *real* APIs / services / clients.

For this particular case having a locally running pypi would be ideal. 
Having configurable online instances is next best, a single online dev 
test bed the third best. All are better than *just* testing against mocks.


> I think a goal should be push button deployment: it should be easy for 
> someone to setup an instance for development, QA, production.   I have 
> does this for the PyCon site: 
> https://gitorious.org/vms/vms/blobs/master/README.txt   This is the 
> first time I have done this, so I am sure it has room for 
> improvement,  but it is better than typing things at a command prompt.
> -- 
> Carl K


May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pydotorg-www/attachments/20110404/0cf834e8/attachment.html>

More information about the pydotorg-www mailing list