Add pytest-cov coverage reporting (informational, not a CI gate) - #266
Merged
Conversation
Closes yakew7#249 - Add a `test` extra to pyproject.toml (pytest, pytest-cov) - Add a `make coverage` target; `make test` output is unchanged - CI's profiler job installs the new `test` extra and runs a new, separate "Coverage report (informational)" step via `make coverage`, right after the existing `make test` step (which is untouched) No --cov-fail-under is set anywhere, so this can never fail a PR on a coverage threshold - it's visibility only, as requested in the issue. Baseline on this run: 82% overall coverage across faircode/. Weakest spots: figures.py (0%), cli.py (51%), report.py (64%), benchmark.py (72%) - good candidates for a follow-up issue. README coverage badge (mentioned as optional in yakew7#249) is not included here since it needs a live coverage service (Codecov/Coveralls) set up by the maintainer first.
Contributor
|
@Circout-sudo is attempting to deploy a commit to the yashkewlani2020-gmailcom's projects Team on Vercel. A member of the Team first needs to authorize it. |
ahmdkaml
approved these changes
Aug 16, 2026
yakew7
added a commit
that referenced
this pull request
Aug 16, 2026
#263/#264/#265/#266 added make coverage (pytest --cov=faircode) and wired it into the profiler job as an informational, non-gating step - but the job's install line was never updated to include pytest-cov, so the step has failed on every run since it merged. continue-on-error: true masked it as an overall job success, so nobody noticed - verified by simulating the exact install line in a clean venv: pytest errors with "unrecognized arguments: --cov=faircode --cov-report=term-missing" without the plugin installed. Add pytest-cov to the profiler job's install line. Verified in a fresh venv that make coverage now actually reports real numbers instead of erroring out. Also gitignore .coverage, the local artifact make coverage produces.
yakew7
added a commit
that referenced
this pull request
Aug 16, 2026
Bump snapshot to cover #262 (Shreyash0712, 5 more explainers), #263/#264 (ahmdkaml, make coverage + non-gating CI coverage report), and #265/#266 (new contributor Circout-sudo/Yojeet, pyproject.toml test extra - same coverage-reporting effort as ahmdkaml's PRs, both closing #249). Adds Circout-sudo as a new Contributors entry, the Contributor tooling & docs area row, and the git identity map (git author "Yojeet" vs GitHub handle).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #249
testextra to pyproject.toml (pytest, pytest-cov)make coveragetarget;make testoutput is unchangedtestextra and runs a new, separate "Coverage report (informational)" step viamake coverage, right after the existingmake teststep (which is untouched)No --cov-fail-under is set anywhere, so this can never fail a PR on a coverage threshold - it's visibility only, as requested in the issue.
Baseline on this run: 82% overall coverage across faircode/. Weakest spots: figures.py (0%), cli.py (51%), report.py (64%), benchmark.py (72%) - good candidates for a follow-up issue.
README coverage badge (mentioned as optional in #249) is not included here since it needs a live coverage service (Codecov/Coveralls) set up by the maintainer first.
Summary
Type
Audit checklist
unfair.pyincludes protected attributes and prints the required output formatfair.pyremoves protected attributes and identified proxy variablesrandom_state=42and an 80/20 train/test splitunfair.pngandfair.pngare included as PNG screenshotsDATA.mdis included if the file is too largeREADME.mdincludes the new results row and audit sectionBefore fairness gap:
After fairness gap:
Reduction:
Protected attribute(s):
Proxy variables dropped:
Explainer checklist
explainers/and uses lowercase hyphenated namingREADME.mdwas updatedLinked issue
Closes #