Skip to content

Temperamental coverage failure #161

Description

@daffidwilde

Occasionally, we don't achieve full coverage, causing CI to fail. Rather than reducing our threshold, I'd rather rewrite the tests (or add an example) to force full coverage.

The details of the most recent failure are as follows:

  platform win32 -- Python 3.7.9, pytest-7.4.2, pluggy-1.2.0
  cachedir: .tox\py37\.pytest_cache
  Using --randomly-seed=1819805610
rootdir: /home/runner/work/matching/matching
  plugins: nbval-0.10.0, randomly-3.15.0, cov-4.1.0, hypothesis-6.84.3

And here's the coverage report:

  ----------- coverage: platform win32, python 3.7.9-final-0 -----------
  Name                                                                    Stmts   Miss  Cover
  -------------------------------------------------------------------------------------------
  .tox\py37\Lib\site-packages\matching\__init__.py                            9      0   100%
  .tox\py37\Lib\site-packages\matching\algorithms\__init__.py                 5      0   100%
  .tox\py37\Lib\site-packages\matching\algorithms\hospital_resident.py       47      0   100%
  .tox\py37\Lib\site-packages\matching\algorithms\stable_marriage.py         22      0   100%
  .tox\py37\Lib\site-packages\matching\algorithms\stable_roommates.py        68      0   100%
  .tox\py37\Lib\site-packages\matching\algorithms\student_allocation.py      54      1    98%
  .tox\py37\Lib\site-packages\matching\algorithms\util.py                     6      0   100%
  .tox\py37\Lib\site-packages\matching\base.py                               90      0   100%
  .tox\py37\Lib\site-packages\matching\exceptions.py                         10      0   100%
  .tox\py37\Lib\site-packages\matching\games\__init__.py                      5      0   100%
  .tox\py37\Lib\site-packages\matching\games\hospital_resident.py           115      0   100%
  .tox\py37\Lib\site-packages\matching\games\stable_marriage.py              88      0   100%
  .tox\py37\Lib\site-packages\matching\games\stable_roommates.py             56      0   100%
  .tox\py37\Lib\site-packages\matching\games\student_allocation.py          141      0   100%
  .tox\py37\Lib\site-packages\matching\matchings.py                          24      0   100%
  .tox\py37\Lib\site-packages\matching\players\__init__.py                    5      0   100%
  .tox\py37\Lib\site-packages\matching\players\hospital.py                   36      0   100%
  .tox\py37\Lib\site-packages\matching\players\player.py                     19      0   100%
  .tox\py37\Lib\site-packages\matching\players\project.py                    24      0   100%
  .tox\py37\Lib\site-packages\matching\players\supervisor.py                 24      0   100%
  -------------------------------------------------------------------------------------------
  TOTAL                                                                     848      1    99%
  
  FAIL Required test coverage of 100% not reached. Total coverage: 99.88%

It's always algorithms/student_allocation.py but I haven't been able to replicate the problem.

The full pip freeze is:

alabaster==0.7.13,attrs==23.1.0,Babel==2.12.1,backcall==0.2.0,beautifulsoup4==4.12.2,black==22.12.0,bleach==6.0.0,certifi==2023.7.22,charset-normalizer==3.2.0,click==8.1.7,colorama==0.4.6,coverage==7.2.7,cycler==0.11.0,debugpy==1.7.0,decorator==5.1.1,defusedxml==0.7.1,docutils==0.17.1,entrypoints==0.4,exceptiongroup==1.1.3,fastjsonschema==2.18.0,flake8==5.0.4,fonttools==4.38.0,hypothesis==6.79.4,idna==3.4,imagesize==1.4.1,importlib-metadata==4.2.0,importlib-resources==5.12.0,iniconfig==2.0.0,interrogate==1.5.0,ipykernel==6.16.2,ipython==7.34.0,isort==5.11.5,jedi==0.19.0,Jinja2==3.1.2,jsonschema==4.17.3,jupyter_client==7.4.9,jupyter_core==4.12.0,jupyterlab-pygments==0.2.2,kiwisolver==1.4.5,MarkupSafe==2.1.3,matching @ file:///D:/a/matching/matching/.tox/.tmp/package/1/matching-1.4.2.tar.gz#sha256=b097aa06662319d8dd265ebc162ccb45082e547673d61fbb6d4852cdce80df4f,matplotlib==3.5.3,matplotlib-inline==0.1.6,mccabe==0.7.0,mistune==3.0.1,mypy-extensions==1.0.0,nbclient==0.7.4,nbconvert==7.6.0,nbformat==5.8.0,nbsphinx==0.9.3,nbval==0.10.0,nest-asyncio==1.5.7,numpy==1.21.6,packaging==23.1,pandas==1.3.5,pandocfilters==1.5.0,parso==0.8.3,pathspec==0.11.2,pickleshare==0.7.5,Pillow==9.5.0,pip==23.2.1,pkgutil_resolve_name==1.3.10,platformdirs==3.10.0,pluggy==1.2.0,prompt-toolkit==3.0.39,psutil==5.9.5,py==1.11.0,pycodestyle==2.9.1,pyflakes==2.5.0,Pygments==2.16.1,pyparsing==3.1.1,pyrsistent==0.19.3,pytest==7.4.2,pytest-cov==4.1.0,pytest-randomly==3.12.0,python-dateutil==2.8.2,pytz==2023.3.post1,pywin32==306,PyYAML==6.0.1,pyzmq==25.1.1,requests==2.31.0,setuptools==68.0.0,six==1.16.0,snowballstemmer==2.2.0,sortedcontainers==2.4.0,soupsieve==2.4.1,Sphinx==4.3.2,sphinxcontrib-applehelp==1.0.2,sphinxcontrib-devhelp==1.0.2,sphinxcontrib-htmlhelp==2.0.0,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-qthelp==1.0.3,sphinxcontrib-serializinghtml==1.1.5,tabulate==0.9.0,tinycss2==1.2.1,tokenize-rt==5.0.0,toml==0.10.2,tomli==2.0.1,tornado==6.2,traitlets==5.9.0,typed-ast==1.5.5,typing_extensions==4.7.1,urllib3==2.0.4,wcwidth==0.2.6,webencodings==0.5.1,wheel==0.41.2,zipp==3.15.0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions