New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for coverage v5.0+ #203
Comments
Yup, that looks like its definitely an issue with changes That looks like exactly the right solution, too. We'll need to add more fallback code like we do elsewhere. I'll probably want to avoid releasing any changes like that until Coverage is past alpha releases, in case more things change, but I'd be happy to accept a partial PR with this part for now. I'll add a |
I've release version 1.8.1 with an explicit pin to prevent this issue. Leaving this issue open as a "TODO: fix coverage>=5.0 support" |
JFI: it might be good if coveralls-python could be passed in a I have the case where I am testing against/with Coverage.py 5 myself (with https://github.com/Vimjas/covimerage), and then coveralls-python cannot be used to report the data. This would be useful of course also already when you are running |
@blueyed I'd be happy to accept a PR which introduces that functionality, but I don't personally find myself having much time to work on this project. For now, my plan is to avoid supporting coverage v5.0+ until they hit a non-prerelease version (they recently hit their first beta version after eight alphas, so I suspect that will be soon!) |
Coverage.py 5.0 was released yesterday. :) |
BTW, if there's something missing from the documented supported API, let me know. Using undocumented classes is bound to be difficult down the road. |
* Unchecked arithmetic * Fix line and column metadata * Fetch metadata from various places as needed * More * Docstrings * And the rest * Pin coverage since coverage>=5.0 is not supported by coveralls. TheKevJames/coveralls-python#203
…age 5.0 Pinned coverage<5.0 in coveralls workflow while TheKevJames/coveralls-python#203 gets addressed.
…age 5.0 Pinned coverage<5.0 in coveralls workflow while TheKevJames/coveralls-python#203 gets addressed.
…age 5.0 Pinned coverage<5.0 in coveralls workflow while TheKevJames/coveralls-python#203 gets addressed.
…age 5.0 Pinned coverage<5.0 in coveralls workflow while TheKevJames/coveralls-python#203 gets addressed.
…age 5.0 Pinned coverage<5.0 in coveralls workflow while TheKevJames/coveralls-python#203 gets addressed.
Coveralls fails because of support for coverage 5.0. Until this TheKevJames/coveralls-python#203 is solved it should be like this.
Coveralls fails because of support for coverage 5.0. Until this TheKevJames/coveralls-python#203 is solved it should be like this.
Since coverage 5.0 was released my CI was broken because it uses pip.
I know, pip does not resolve dependencies unlike poetry or dephell and this is not coveralls issue, but it is unpleasant anyway. I have changed the configuration for using the following install command:
It works, and I still hate packaging in Python. |
* Update pytest from 5.3.1 to 5.3.2 * pin coverage to stay below 5.0 ref TheKevJames/coveralls-python#203
* pin coverage to stay below 5.0 ref TheKevJames/coveralls-python#203
… not currently support coverage 5.0+ per TheKevJames/coveralls-python#203
I'll use:
for now. |
I’ve had a similar issue on my project, although with a different stack trace / error message, which I’ll copy here in case it helps others track down the issue. coverage.misc.CoverageException: Couldn't read data from .coverage': UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 99: invalid start byte Full stack trace
|
Coveralls is not compatible yet. TheKevJames/coveralls-python#203
Version 1.10.0 of For those interested: the PR for v5.x support is #214. @nedbat looks like the only private API I had to access was this one -- any thoughts on how I might do that better? @thibaudcolas if I understand correctly, |
Yup, this is now working as expected, with |
Spotted while looking into TheKevJames#203. I see other parts of the documentation (https://coveralls-python.readthedocs.io/en/latest/tips/coveragerc.html) already link to the `latest` version, hence why I propose to link to it here as well.
* GSL and RALFit work * Add dockerfile for the basic dependencies * First stab at a travis.yml file * pull a specific version of the container * update the docker command * correct name of docker container * change the docker run command * Add full install dockerfile * docker run the script * remove multiline * docker run --> docker exec * update bash script location * Fixing table tests * Updating docker travis file * run apt-get update first * pull the extras container, and test defaults * change location of block scalars * swap tabs for spaces * fix unit tests version * Change location of break * make one line * change directory on entry * change directory of fitbenchmarking * add missing / to pip install * Update dockerfile to build pygsl and update MASTSIF * fix pycutest_cache directory * Run other tests through docker * update dockerfile so that PYTHONPATH is correct * fix directory location * pull the correct container * fix some of the travis warnings * fix the python version used * move to fitbenchmarking repo, not personal one * try and fix sending of data to coveralls * run coveralls in docker * pass environment variables to docker containers * change order of env variables passed to travis * try and run coveralls outside of docker * start docker in fitbenchmarking folder * allow for mantid segfault on first run * full->extras * fix or syntax * split into two commands * try to put segfault on before_install * move segfault capturing into the unit_tests file * install coveralls and change paths * move install of coveralls after pass * remove parallel option * fix coveragerc error * combine coverage reports to fix the directory structure Following the hints here: pytest-dev/pytest-cov#146 * try earlier version of coverage see TheKevJames/coveralls-python#203 * be more specific in the version * fix coverage version to that in the docker container * remove python-coveralls from dockerfile As suggested here: z4r/python-coveralls#73 * remove installation of coverage * pin coverage in dockerfile * remove installation of coveralls (unneeded) * fix syntax * remove old dockerfile * add documentation for the docker tests * fix documentation styling * fix examples format * revert to fixed test directory Co-authored-by: Michael Wathen <mwathen@gmail.com>
* GSL and RALFit work * Add dockerfile for the basic dependencies * First stab at a travis.yml file * pull a specific version of the container * update the docker command * correct name of docker container * change the docker run command * Add full install dockerfile * docker run the script * remove multiline * docker run --> docker exec * update bash script location * Fixing table tests * Updating docker travis file * run apt-get update first * pull the extras container, and test defaults * change location of block scalars * swap tabs for spaces * fix unit tests version * Change location of break * make one line * change directory on entry * change directory of fitbenchmarking * add missing / to pip install * Update dockerfile to build pygsl and update MASTSIF * fix pycutest_cache directory * Run other tests through docker * update dockerfile so that PYTHONPATH is correct * fix directory location * pull the correct container * fix some of the travis warnings * fix the python version used * move to fitbenchmarking repo, not personal one * try and fix sending of data to coveralls * run coveralls in docker * pass environment variables to docker containers * change order of env variables passed to travis * try and run coveralls outside of docker * start docker in fitbenchmarking folder * allow for mantid segfault on first run * full->extras * fix or syntax * split into two commands * try to put segfault on before_install * move segfault capturing into the unit_tests file * install coveralls and change paths * move install of coveralls after pass * remove parallel option * fix coveragerc error * combine coverage reports to fix the directory structure Following the hints here: pytest-dev/pytest-cov#146 * try earlier version of coverage see TheKevJames/coveralls-python#203 * be more specific in the version * fix coverage version to that in the docker container * remove python-coveralls from dockerfile As suggested here: z4r/python-coveralls#73 * remove installation of coverage * pin coverage in dockerfile * remove installation of coveralls (unneeded) * fix syntax * remove old dockerfile * add documentation for the docker tests * fix documentation styling * fix examples format * revert to fixed test directory Co-authored-by: Michael Wathen <mwathen@gmail.com> (cherry picked from commit e7bfb0d)
* Update pytest from 5.3.1 to 5.3.2 * pin coverage to stay below 5.0 ref TheKevJames/coveralls-python#203
* pin coverage to stay below 5.0 ref TheKevJames/coveralls-python#203
…age 5.0 Pinned coverage<5.0 in coveralls workflow while TheKevJames/coveralls-python#203 gets addressed.
…age 5.0 Pinned coverage<5.0 in coveralls workflow while TheKevJames/coveralls-python#203 gets addressed.
…age 5.0 Pinned coverage<5.0 in coveralls workflow while TheKevJames/coveralls-python#203 gets addressed.
…age 5.0 Pinned coverage<5.0 in coveralls workflow while TheKevJames/coveralls-python#203 gets addressed.
… not currently support coverage 5.0+ per TheKevJames/coveralls-python#203
Running
coveralls
orcoveralls debug
orcoveralls debug --verbose
gives me the following stack dump:This is with coverage 5.0a5 and coveralls 1.8.0. It looks to me like the coverage library recently changed
branch_lines
to_branch_lines
in the Analysis class (see nedbat/coveragepy@f869f4d#diff-b696f62d55a35f1f75a13c5c7ecf2f68), and coveralls is still trying to access it under the old name. I think. Or maybe the issue is on my end; I don't know.The text was updated successfully, but these errors were encountered: