[wic][PATCH v4 2/6] tests: add conftest with a wic-import preflight and session banner
Trevor Woerner <[email protected]> Mon, 6 Jul 2026 18:29:00 -0400
| Newsgroups | org.yoctoproject.lists.yocto-patches |
|---|---|
| Message-ID | <[email protected]> |
tests/conftest.py prepares the suite and describes the run. It adds the in-tree src/ to sys.path so the tests import the wic in the checkout without an install, then imports wic once up front: if that fails, the session stops immediately with pytest.exit() and the reason, rather than letting every test error out one by one against a missing or wrong wic. A pytest_report_header hook prints a short banner naming the host, the Python and pytest versions, and the wic under test with its version and imported path, so a run can be attributed when more than one checkout or virtualenv is in play. AI-Generated: codex/claude-opus 4.8 (xhigh) Signed-off-by: Trevor Woerner <[email protected]> --- changes in v4: - move the wic-import check here from the run-tests.sh wrapper, so it runs on every invocation regardless of how pytest is launched; on failure the session stops with pytest.exit(). 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. --- tests/conftest.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/conftest.py diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 000000000000..13b8953cec40 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,28 @@ +# Session setup and banner for the wic test suite. + +import platform +import sys +from pathlib import Path + +import pytest + +_SRC = Path(__file__).resolve().parent.parent / "src" +if str(_SRC) not in sys.path: + sys.path.insert(0, str(_SRC)) + +try: + import wic.cli as _wic_cli +except Exception as exc: + pytest.exit("cannot import wic from %s: %s" % (_SRC, exc), returncode=1) + + +def pytest_report_header(config): + return "\n".join([ + "wic test suite", + " host: %s %s %s" % ( + platform.node(), platform.system(), platform.machine()), + " python: %s pytest: %s" % ( + platform.python_version(), pytest.__version__), + " wic: %s (%s)" % ( + getattr(_wic_cli, "__version__", "(unknown)"), _wic_cli.__file__), + ]) -- 2.50.0.173.g8b6f19ccfc3a