mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-10-27 07:14:08 +09:00
The panel's crontab/nginx code only ever met the fake_subprocess stub — the 8-distro matrix runs stubs and the container legs run 12 detection tests, so a syntax the real parser rejects failed on a user's box, not in CI (the #117 class). - new `real_binaries` marker (registered in conftest); the tests also gate on SERVERKIT_REAL_BINARIES=1 so ordinary suite runs never mutate a machine's crontab by surprise. Local loop (WSL works): SERVERKIT_REAL_BINARIES=1 pytest tests -m real_binaries - test_real_crontab_roundtrip: add -> list -> toggle -> remove through the real `crontab -`/`crontab -l`, operator lines preserved, name injection blocked; user crontab saved/restored around each test (verified green on WSL against the real binary) - test_real_nginx_vhost_syntax: every render_site_config flavor through a real `nginx -t` in a tmp wrapper conf, plus a garbage probe so the harness can't go vacuous - backend-ci gains a real-binaries job (ubuntu runner, apt nginx+cron) - scripts-ci gains the probe-matrix job: scripts/test/probe-matrix.sh (real ufw/nginx/firewalld in 4 container shapes) existed since plan 75 but was wired into NO workflow; the ubuntu-root-sbinless leg was re-verified green locally before wiring Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>