zopefoundation / z3c.form

An advanced form and widget framework for Zope 3
Other
8 stars 39 forks source link

Add coverage checks and coveralls integration #64

Closed icemac closed 7 years ago

icemac commented 7 years ago

Changes taken from zope.password.

jamadden commented 7 years ago

I think the issue that Travis is having ("module zc has no package ...") is due to the fact that coverage is installed in the virtualenv, along with zc.buildout, creating a zc namespace package that's available and visible to the buildout. When the virtualenv coverage runs the buildout script, that zc is winding up on sys.path ahead of what the buildout sets up, leading to these errors. It seems like I've run into this before, but I'm not finding it (I thought I remembered leaving a comment in a .travis.yml somewhere). I can imagine two solutions:

  1. Don't use buildout in .travis.yml. Just 'pip install -e .[test]' and go from there.
  2. Make buildout.cfg handle installing coverage. And then run bin/coverage run bin/test so that everything is in the buildout environment.
icemac commented 7 years ago

@jamadden Thank you for looking into this and explaining the source of the problem.

The first of your suggested solutions I tried in the first place, see https://travis-ci.org/zopefoundation/z3c.form/jobs/267857858 but failed with zc.recipe.egg is in an unsupported or invalid wheel (Was there a solution for this problem?) I found out that zc.recipe.egg is required by z3c.recipe.sphinxdoc which is needed by the docs extra. So now I am trying pip install without this extra as there are no Sphinx only doctests in this package, I believe.

jamadden commented 7 years ago

The first of your suggested solutions I tried in the first place, see https://travis-ci.org/zopefoundation/z3c.form/jobs/267857858 but failed with zc.recipe.egg is in an unsupported or invalid wheel (Was there a solution for this problem?)

There is! See https://github.com/zopefoundation/z3c.recipe.sphinxdoc/commit/23c830bcdc2a1bcd91317a70adce7b2828e6cf01#diff-354f30a63fb0907d4ad57269548329e3 :

 - pip install -U --no-binary zc.recipe.egg -e ".[test]"

(Comment and link to bug report at https://github.com/zopefoundation/z3c.recipe.sphinxdoc/commit/23c830bcdc2a1bcd91317a70adce7b2828e6cf01#diff-2eeaed663bd0d25b7e608891384b7298)

icemac commented 7 years ago

The problem with the import of zc.sourcefactory seen some where above seems to be buildout/buildout#410.