Add test coverage CI job
pip install pytest-cov
then pytest --cov plom
gives a coverage report:
plom/server/plomServer/serverReport.py 42 16 62%
plom/server/plomServer/serverRubric.py 29 13 55%
plom/server/plomServer/serverSolution.py 39 29 26%
plom/server/plomServer/serverUpload.py 279 198 29%
plom/server/plomServer/serverUserInit.py 95 56 41%
plom/server/prepare.py 65 18 72%
plom/server/run_the_predictor.py 31 31 0%
plom/server/theServer.py 133 13 90%
plom/solutions/__init__.py 13 0 100%
plom/solutions/__main__.py 95 46 52%
plom/solutions/checkSolutionStatus.py 18 15 17%
plom/solutions/deleteSolutionImage.py 21 18 14%
plom/solutions/extractSolutions.py 108 89 18%
plom/solutions/getSolutionImage.py 21 18 14%
plom/solutions/putSolutionImage.py 51 45 12%
plom/specVerifier.py 340 66 81%
plom/test_exceptions.py 19 0 100%
plom/test_latex.py 24 1 96%
plom/test_latexfrag.py 50 1 98%
plom/test_messengers.py 6 0 100%
plom/test_misc_utils.py 12 0 100%
plom/test_spec.py 207 0 100%
plom/test_spec_from_toml.py 17 0 100%
plom/test_version.py 4 0 100%
plom/test_version_maps.py 79 0 100%
plom/textools.py 52 11 79%
plom/tpv_utils.py 53 5 91%
plom/version.py 1 0 100%
plom/version_maps.py 37 1 97%
-----------------------------------------------------------------------
TOTAL 25081 16268 35%
35% coverage is actually not bad! (I think that means 35% of our code is run by our test suite, again not bad since we have no UI tests at all)
Note pytest --cov plom/server
is currently at 50%.
I'd like this to run in our CI tests and I think Gitlab.com has special tracking and visualization for this which would be nice to setup. We may not be quite at the point were we can force a monotonic increase in MR yet.