Conversation
Add 75 test cases covering base OS DDI, sysupdate contracts, k0s sysext activation, KubeStellar console with local login, UEFI fallback bootloader staging, and SSH security defaults. Assisted-by: Gemini 3.8 Flash via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ret refs Assisted-by: Gemini 3.8 Flash via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Assisted-by: Gemini 3.8 Flash via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: sec-check[bot] <sec-check[bot]@users.noreply.github.com>
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
hanthor
left a comment
There was a problem hiding this comment.
"All 75 tests pass cleanly in 0.31s" — they skip
tests/server/conftest.py hardcodes a personal absolute path:
DEFAULT_SERVER_PATH = Path("/home/jorge/src/server")and server_root calls pytest.skip(...) when neither $BLUEFIN_SERVER_ROOT, that path, nor a sibling ../server checkout exists. I copied tests/server/ into a directory with no sibling server repo and ran it:
75 skipped in 0.15s
SKIPPED [1] .../test_sysupdate.py:217: Bluefin Server repository not found.
Set BLUEFIN_SERVER_ROOT or place at /home/jorge/src/server
On a GitHub runner there is no projectbluefin/server checkout, so every one of these 75 tests is a skip. The "passes" reported in the description came from a machine that happened to have the sibling repo.
No CI job runs them anyway
$ grep -rn "tests/server\|pytest" .github/workflows/
.github/workflows/unit-tests.yml:46: coverage run -m pytest -n auto tests/unit/ -v
unit-tests.yml collects only tests/unit/. tests/server/ is never executed by any workflow, so even the skips are invisible and a regression in these assertions would never surface. coverage report --fail-under=75 also ignores them.
What this needs before it can land
- Remove
/home/jorge/src/server. Resolve the server repo from$BLUEFIN_SERVER_ROOTonly, or vendor the small config fixtures the assertions read (repart.d/*.conf, the.bstelements) into this repo so the tests are self-contained. - Wire the suite into CI — either add
tests/server/tounit-tests.yml, or add a job that checks outprojectbluefin/serverand setsBLUEFIN_SERVER_ROOT. Until then this is 1,437 lines that no gate enforces. test_bats_runner.pyalsopytest.skips whenbatsis not on PATH, which it is not onubuntu-latestby default — install it in the job or drop the wrapper.
Mechanically the assertions themselves look reasonable (string/INI checks against bluefin-server-ddi.bst, 20-root-a.conf, etc.); the problem is purely that nothing runs them.
Generated by Claude Code
|
Closing. The work is not wrong, but what it needs before it can land is a design decision I should not make on the author's behalf, and @hanthor's changes-requested review has not been addressed. Verifying his three points against the current diff:
Point 1 is a small fix I could have made. Points 2 and 3 are not: wiring a new suite into CI means either extending For the record I did rebase this branch onto current To land it: open the design issue for the |
Pull request was closed
Description
Adds comprehensive test coverage for Bluefin Server OS under
tests/server/:test_base_os_rootfs.py: XFS DDI rootfs, uutils-coreutils userspace, bash login shell, /var mount unittest_sysupdate.py: systemd-sysupdate / updatectl contracts, mandatory@vwildcards in MatchPattern, GPG verificationtest_sysext_k0s.py: k0s sysext activation, extension overlay merge into /usr, declarative manifests seedingtest_kubestellar_console.py: KubeStellar kiosk proxy hostPort 8080, /healthz, local dev login options alongside GitHub OAuthtest_installer_boot.py: systemd-sysinstall interactive/unattended flows, target ESP/EFI/BOOT/BOOTX64.EFIfallback stagingtest_ssh_security.py: OpenSSH present for on-demand diagnostics, disabled by default via systemd presetstest_server_contracts.bats&test_bats_runner.py: Shell contracts for disk detection and boot cmdlineAll 75 tests pass cleanly in 0.31s.