[Plone-testing-team] A tale on dependencies and tests

Gil Forcada gil.forcada at freitag.de
Wed Sep 2 14:16:17 UTC 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi all,

grab a coffee this will be a long mail (or skip it if you wish :)

Some background: at der Freitag we have ~20 or so internal add-ons for
Plone.

There are either base distributions (no dependencies on other internal
add-ons named freitag.util.*) or top-level ones (they do have either
dependencies on the base distributions or on other top-level ones
named freitag.*) and finally there is the policy distribution that
ties all of them together.

Now to the veggies (or meat if you are into that): some weeks ago I
started playing with z3c.dependencychecker to have a better view of
the dependencies on our distributions.

Turned out that adding zope.publisher or zope.i18n on setup.py was
breaking the tests. See the question on Stackoverflow[1].

Ok, includeDependencies is gone. Oh and also [2].

Next one: freitag.util.* distributions are fine but the freitag.* are
not, as they are missing freitag.util.* or other freitag.* profiles.

Sure fire the editor and add them on testing.py on the layer... At
some point, specially at the policy distribution you end up loading
nearly all of them manually and I started to wonder if "fixing" the
dependencies is actually worth it...

Worse, having single distribution jobs on Jenkins in this specific
case was more harmful than helpful as it was hiding the
inter-dependencies between the distributions and after spending quite
a lot of time fixing all distributions alone then everything blow up
as I ran the main integration jenkins jobs...


So some questions:
- - everything comes from trying to load Zope2 and some zope.*
distributions' ZCML files, is there something fixable on that front at
all?

- - is a good practice to remove <includeDependencies package="." /> ?
Any strong reason to keep it?

- - as long as all your dependencies have the z3c.autoinclude entry
point you don't need the includeDependencies right?

- - but then, what about metadata.xml on GenericSetup? You need to
manually check all your setup.py requirements and add an entry there
for each and everyone of them that have a profile?

- - what's the best practice on loading GenericSetup profiles from your
dependencies on a testing layer?


Thanks for your time!
Gil

[1] http://stackoverflow.com/questions/32224255
[2] Ever stumbled upon <five:registerPackage package="."
initialize=".initialize" /> ? Seems to be the grandfather of
includeDependencies, right?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJV5wSpAAoJEM2P68YKpRQl/mMP/i5ss/izoUpk6VKg1wdaKySw
qkw4N6bAJ/Kw/BB5VcXNdbpIrotCpRbJ+AuLjp3Rhd43JJEk8Z0YPT2Ey/bEGOTS
CMpp+EdI3KZ0RvLxHZtM4NrAnAx6PpTlLr/H1xvX3W6ufFTdJgDfoE76VINOh/KN
ALCyfX83u6tFGs52QFQXd7pZ45qE/9zrB1XaydKxWEenLc4W0rP6dWlBU85oRTkf
ZXIbTB/RKi4Y4VVW13uwbZaqiMa8Zyd64xy0eqTaFi9r9YjJbBlaBnENBVb2Ri6z
Ud4MIx+++I5FO8hTjIHlzrmrFKQBNFNcUQRW8LPNwwfDdWAwbPBXkBgZYHtte0G7
xnEDm25LSTXDdivf5bCBi+H4zJmMamGDt8RpdE2Ct26naRFsr3Ek0OeL6ne3Hklf
W2YHY3LYYfnlRUC3Arw+T+P2tJTAL4FqoPPyxeYT6NRCT0iZrKg1BbIeLVJPTmQz
x333GU6dMu1FwRZd2ajF4db4c5gQguxWF5Y+L/gzwQT/EX5wZBi3rMB3o+8LfQJ4
Wfmhc6/FfiFnt/Fn1gvG4sr2RmPSAo8nO05UYQkS1Cv6HGW5430LnatLJ2ERgGlW
l6bNJHjIvhl4NWUvY0/Pl8yE3+HseeG6VzwxqQdKLeIPg9l3aLjfM0LGtSmqKtO/
nHy/pcX64SKCqkrgXsG/
=T/1H
-----END PGP SIGNATURE-----


den Freitag gibt es ab sofort auch digital! Jetzt stöbern auf: https://digital.freitag.de


Diese Nachricht (inklusive aller Anhänge) ist vertraulich. Sie darf ausschließlich durch den vorgesehenen Empfänger und Adressaten gelesen, kopiert oder genutzt werden. Sollten Sie diese Nachricht versehentlich erhalten haben, bitten wir, den Absender (durch Antwort-E-Mail) hiervon unverzüglich zu informieren und die Nachricht zu löschen. Jede unerlaubte Nutzung oder Weitergabe des Inhalts dieser Nachricht, sei es vollständig oder teilweise, ist unzulässig.

This message (including any attachments) is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error please contact the sender (by return E-Mail) immediately and delete this message. Any unauthorised use or dissemination of this message in whole or in part is strictly prohibited.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.plone.org/pipermail/plone-testing-team/attachments/20150902/828913a1/attachment.html>


More information about the Plone-testing-team mailing list