-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Roger Ineichen wrote: > Hi again > >> Betreff: [Zope-dev] Heads up: Dependencies! >> >> Hi all >> >> I try to do a cleaup all zope packages and found some wired >> dependencies and bad setup. One of this bad things is the following: >> >> The zope.dublincore package defines in setup.py >> >> install_requires = ['setuptools', >> 'zope.annotation', >> 'zope.component', >> 'zope.interface', >> # testing dependencies >> 'zope.testing', >> 'zope.security', >> 'zope.app.testing', >> ], >> >> I guess this is one of the packages which makes it impossible >> to get rid of testing stuff on production servers! right or not? >> >> This happens in 3.4.0, 3.4.0a1 was Ok. >> >> Can anybody agree that the testing dependencies should go to >> extra_requires ['test'] ? > > I discussed this with Benji on IRC and very bad consenus happend. > Benji told me that this topic was discussed and this changes > explicit happens. > > I totaly disagree with the concept behind this. > The general sentence "Test what you fly and flay what ou test" > is still valid and makes sense to me. But this is not what this > changes reflect. This changes will bring in dependencies to > zope.app.testing for all our production projects. This is just > not true. All of our apps are just working without the testing > dependency. Testing code is not a dependency for production servers. > > This install_requires will bring in zope.app.testing dependencies > for all of our production servers which is just wrong. > > Test what you fly and fly what you test is a good thing. But it > get totaly miss understud in this usecase. > > It doesn't mean that we can depend our tests on zope.app.rotterdam > for zope.dublincore just because we have a rotterdam package. > And even worse depend on that in install_requires. > > If a testing setup needs additional components which the package > doesn't need, we have two choices. > > 1. write tests wihtout thrid party code (code which is not a dependency > of the package at all) > > 2. write tests and depend on third party code but move the dependency > to extra_requires. This allows to install the app without the > additional test dependency > > What do you think?
Even better: use the documented setuptools keyword[1] 'tests_require', and get the testrunner / buildout to use that hook when running tests. An added benefit is that it might even be possible for somebody to run the tests from a subversion checkout / unpacked sdist without first running buildout, by just running 'python setup.py test'. This last will require defining a workable 'test_suite' keyword, as well. [1] http://peak.telecommunity.com/DevCenter/setuptools#id7 Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 [EMAIL PROTECTED] Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIAWlw+gerLs4ltQ4RAuq1AJ48SsGtuCUvBzTN2a1YLqGSPTBIfgCcC9ZQ GwLUzQDm6FQB6DpQ6a2bJkM= =hqQm -----END PGP SIGNATURE----- _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )