The current status is that the following Python distributions are using pytest tests and are in core:
plone.classicui
plone.distribution
plone.exportimport
plone.volto
Products.CMFPlacefulWorkflow
That on its own is not good or bad, the problem lies on that these Python distributions are part of Plone core and thus are expected to be tested with the regular Jenkins jobs that ensure no breakages happen across Python distributions (i.e. a change in plone.app.event breaking plone.exportimport).
This is unfortunately not possible if zope.testrunner and pytest tests are mixed.
Possible solutions
- rewrite the tests in those few distributions to
zope.testrunner
- rewrite ALL other Plone Python distributions to
pytest 😅
- have another separate Jenkins job that ensures those Python distributions tests work with
buildout.coredev latest changes
First and second are no fun. Second is more future proof, as we might want to switch eventually to pytest, but it will not happen overnight.
So third looks like the best middle ground, and actually sets the foundation for the 2nd option to happen.
The PR jenkins jobs will be a bit more complicated, as all tests are meant to run within that job.
Opinions?!
The current status is that the following Python distributions are using
pytesttests and are in core:plone.classicuiplone.distributionplone.exportimportplone.voltoProducts.CMFPlacefulWorkflowThat on its own is not good or bad, the problem lies on that these Python distributions are part of Plone core and thus are expected to be tested with the regular Jenkins jobs that ensure no breakages happen across Python distributions (i.e. a change in
plone.app.eventbreakingplone.exportimport).This is unfortunately not possible if
zope.testrunnerandpytesttests are mixed.Possible solutions
zope.testrunnerpytest😅buildout.coredevlatest changesFirst and second are no fun. Second is more future proof, as we might want to switch eventually to
pytest, but it will not happen overnight.So third looks like the best middle ground, and actually sets the foundation for the 2nd option to happen.
The PR jenkins jobs will be a bit more complicated, as all tests are meant to run within that job.
Opinions?!