From: Trevor Woerner <twoerner@gmail.com>
To: yocto-patches@lists.yoctoproject.org
Subject: [wic][PATCH v4 3/6] tests: add optional coverage reporting
Date: Mon, 6 Jul 2026 18:29:01 -0400 [thread overview]
Message-ID: <20260706222904.664863-4-twoerner@gmail.com> (raw)
In-Reply-To: <20260706222904.664863-1-twoerner@gmail.com>
Add branch coverage of the wic source as opt-in just recipes, so a
plain run stays fast and quiet. coverage and pytest-cov join the tests
extra; the coverage recipe prints a terminal report of the lines that
were missed, and coverage-html additionally writes a browsable report
to htmlcov/. .gitignore ignores the .coverage data file and htmlcov/.
AI-Generated: codex/claude-opus 4.8 (xhigh)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
changes in v4:
- expose coverage through just recipes (coverage, coverage-html)
rather than run-tests.sh flags.
changes in v3:
- no change in this revision.
changes in v2:
- v1 submitted the entire test suite as a single commit; v2 breaks
the work into a reviewable series, and this patch is one step of it.
---
.gitignore | 2 ++
justfile | 8 ++++++++
pyproject.toml | 2 ++
3 files changed, 12 insertions(+)
diff --git a/.gitignore b/.gitignore
index a0f016bc5823..e30cafa40f7f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
**/__pycache__
.pytest_cache/
+.coverage
+htmlcov/
diff --git a/justfile b/justfile
index 41a9d3d236f4..1be3e01e7c7d 100644
--- a/justfile
+++ b/justfile
@@ -8,3 +8,11 @@ default:
# (e.g. `just tests -k <expr>` or `just tests tests/unit`).
tests *args:
pytest {{args}}
+
+# Run the suite with a terminal branch-coverage report for wic.
+coverage *args:
+ pytest {{args}} --cov=wic --cov-branch --cov-report=term-missing
+
+# Run the suite with an HTML coverage report (written to htmlcov/).
+coverage-html *args:
+ pytest {{args}} --cov=wic --cov-branch --cov-report=term-missing --cov-report=html
diff --git a/pyproject.toml b/pyproject.toml
index e60c4fcc1595..2ad694b13358 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -24,6 +24,8 @@ Repository = "https://git.yoctoproject.org/wic"
[project.optional-dependencies]
tests = [
"pytest >= 9.1.1",
+ "coverage >= 7.15.0",
+ "pytest-cov >= 7.1.0",
"rust-just >= 1.55.1",
]
--
2.50.0.173.g8b6f19ccfc3a
next prev parent reply other threads:[~2026-07-06 22:29 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-06 22:28 [wic][PATCH v4 0/6] tests: standalone test-suite framework plus the first unit test Trevor Woerner
2026-07-06 22:28 ` [wic][PATCH v4 1/6] tests: add the standalone unit-test suite skeleton Trevor Woerner
2026-07-06 22:29 ` [wic][PATCH v4 2/6] tests: add conftest with a wic-import preflight and session banner Trevor Woerner
2026-07-06 22:29 ` Trevor Woerner [this message]
2026-07-06 22:29 ` [wic][PATCH v4 4/6] add ruff linting Trevor Woerner
2026-07-06 22:29 ` [wic][PATCH v4 5/6] bb/utils: import errno so mkdirhier's OSError handler works Trevor Woerner
2026-07-06 22:29 ` [wic][PATCH v4 6/6] tests/unit/test_bb_utils: cover mkdirhier() Trevor Woerner
2026-07-08 14:27 ` [yocto-patches] [wic][PATCH v4 0/6] tests: standalone test-suite framework plus the first unit test Paul Barker
2026-07-09 3:50 ` Trevor Woerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260706222904.664863-4-twoerner@gmail.com \
--to=twoerner@gmail.com \
--cc=yocto-patches@lists.yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.