Migration de la suite de tests vers pytest, sans reecrire les scripts existants

pytest + pytest-qt (requirements-dev.txt) deviennent le point d'entree unique
de la suite ("pytest" depuis la racine), sans toucher aux 30+ scripts
test_*.py existants (convention deliberement conservee - voir tests/conftest.py) :
tests/test_all_scripts.py les lance chacun comme sous-processus isole (comme
c'etait deja fait manuellement a chaque phase), avec QT_QPA_PLATFORM=offscreen
pour tourner sans affichage (verifie : la suite complete passe a l'identique
en mode hors-ecran, prerequis pour une future integration continue).

tests/run_all.bat corrige au passage : il ne lancait plus que 4 tests sur 30+
(liste figee, jamais mise a jour au fil des phases) ; il delegue maintenant a
pytest.

Audit de couverture (Phase 13 du plan) : fingerprint, stockage atomique,
migration de schema, config OpenSSH, ProxyJump, CredentialStore, redaction de
secrets et detection de commandes dangereuses etaient deja couverts au fil des
phases precedentes. Seul point manquant identifie : aucun test ne verifiait
qu'une cle API IA ne puisse fuiter dans un message d'erreur - ajoute dans
tests/test_no_secrets_in_errors.py.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Florian
2026-09-05 07:32:55 +02:00
parent 0b2ff38bfd
commit 09b7ed092c
7 changed files with 164 additions and 12 deletions

View File

@@ -12,18 +12,8 @@ REM QT_QPA_PLATFORM=offscreen : les tests construisent de vraies fenetres Qt,
REM mais sans les afficher (utile en console comme en integration continue).
set QT_QPA_PLATFORM=offscreen
set PYTHONIOENCODING=utf-8
set PYTHONUTF8=1
set FAILED=0
for %%T in (test_detect test_clipboard test_sftp test_full) do (
echo.
echo ================== %%T ==================
venv\Scripts\python.exe tests\%%T.py || set FAILED=1
)
venv\Scripts\python.exe -m pytest tests -v
echo.
if "%FAILED%"=="1" (
echo Au moins un test a echoue.
) else (
echo Tous les tests sont passes.
)
pause