Increase coverage
ianthomas23 opened this issue · 0 comments
ianthomas23 commented
Overall coverage is at 87% but I would like to get it higher. There are some crucial code paths that are not covered by tests such as the handling of date/time DataFrame columns.
Using codecov on github is limited to non-CUDA code, so I am running it locally on a CUDA system to get the most accurate figures. This is my workflow:
git clean -fxd
pip install -ve .
DATASHADER_TEST_GPU=1 pytest datashader/tests/ -k "not benchmarks" --cov=./datashader --cov-report html --cov-append
NUMBA_DISABLE_JIT=1 pytest datashader/tests/ -k "not benchmarks" --cov=./datashader --cov-report html --cov-append
The tests are run twice, once with numba
and cuda
and once without. HTML files are created in the htmlcov
directory. Current summary is:
Module statements missing excluded coverage
datashader/__init__.py 25 5 0 80%
datashader/__main__.py 11 11 0 0%
datashader/bundling.py 290 4 0 99%
datashader/colors.py 39 4 0 90%
datashader/compiler.py 141 4 0 97%
datashader/composite.py 105 4 0 96%
datashader/core.py 482 60 0 88%
datashader/data_libraries/__init__.py 14 4 0 71%
datashader/data_libraries/cudf.py 7 0 0 100%
datashader/data_libraries/dask.py 120 3 0 98%
datashader/data_libraries/dask_cudf.py 7 0 0 100%
datashader/data_libraries/dask_xarray.py 185 2 0 99%
datashader/data_libraries/pandas.py 33 0 0 100%
datashader/data_libraries/xarray.py 19 2 0 89%
datashader/datatypes.py 384 24 0 94%
datashader/enums.py 9 0 0 100%
datashader/glyphs/__init__.py 8 0 0 100%
datashader/glyphs/area.py 1056 187 0 82%
datashader/glyphs/glyph.py 93 11 0 88%
datashader/glyphs/line.py 1034 62 0 94%
datashader/glyphs/points.py 188 18 0 90%
datashader/glyphs/polygon.py 154 9 0 94%
datashader/glyphs/quadmesh.py 396 50 0 87%
datashader/glyphs/trimesh.py 144 11 0 92%
datashader/layout.py 110 12 0 89%
datashader/macros.py 99 7 0 93%
datashader/mpl_ext.py 265 134 0 49%
datashader/pipeline.py 20 0 0 100%
datashader/reductions.py 1034 106 0 90%
datashader/resampling.py 551 94 0 83%
datashader/tests/__init__.py 0 0 0 100%
datashader/tiles.py 223 68 0 70%
datashader/transfer_functions/__init__.py 535 59 0 89%
datashader/transfer_functions/_cpu_utils.py 12 0 0 100%
datashader/transfer_functions/_cuda_utils.py 90 54 0 40%
datashader/utils.py 347 75 0 78%
Total 8230 1084 0 87%