Ce projet inclut maintenant un système de popup d'urgence spectaculaire qui affiche les erreurs de tests avec une animation de feu en pixel art !
- 🎨 Animation pixel art de feu en temps réel
- 🚨 Fenêtre d'urgence de 900x700 pixels très visible
- ⚡ Animation de flash au démarrage
- 📋 Copie automatique des erreurs dans le presse-papier
- 🎯 Toujours au premier plan pour ne jamais manquer une erreur
En plus du popup, le système génère automatiquement des rapports HTML :
- 🔥 Animation pixel art (comme le popup)
- 📋 Liste complète de toutes les erreurs
- 📍 Localisation précise de chaque erreur
- 📝 Traceback complet pour analyse
- 💾 Téléchargeable depuis GitHub Actions (artifacts)
Tester le popup immédiatement :
python test_popup_quick.pyTester la génération de rapport HTML :
python3 test_html_report.py
# Ouvre le rapport généré dans error_reports/Utiliser avec pytest (développement local) :
# Le popup s'affiche automatiquement en cas d'erreur
pytest
# Sans popup (génère quand même le rapport HTML)
pytest --no-popupEn CI/CD (GitHub Actions) :
- L'option
--no-popupest automatiquement configurée - Les rapports HTML sont uploadés comme artifacts
- Téléchargez l'artifact "error-report" pour voir les détails
Guides complets :
- ERROR_POPUP_GUIDE.md - Guide du popup d'urgence
- HTML_REPORT_GUIDE.md - Guide des rapports HTML
Copier .github/workflows/ci-bot.yml et ci_agent.sh dans votre repo. Rendre exécutable : chmod +x ci_agent.sh
TEST_COMMAND (défaut: pytest -q), LOG_FILE (optionnel), ERROR_PATTERNS (défaut: FAILED|AssertionError|Traceback)
Échec → imprime Erreur détectée + exit 1. Succès → exit 0. Exemple: ./ci_agent.sh "pytest -q" "" "FAILED|AssertionError"
src/error_popup.py- Système de popup avec animation pixel art (tkinter)src/error_popup_web.py- Version web du popup (fallback)src/error_report_generator.py- Générateur de rapports HTMLconftest.py- Plugin pytest pour intercepter les erreursdemo_error_popup.py- Script de démonstration du popuptest_html_report.py- Script de test pour les rapports HTMLtests/test_error_popup_demo.py- Tests de démonstrationERROR_POPUP_GUIDE.md- Guide complet du popupHTML_REPORT_GUIDE.md- Guide complet des rapports HTML
src/calculator.py- Module calculateurtests/test_example.py- Tests de basetests/test_math.py- Tests mathématiques avancéspytest.ini- Configuration pytest
.github/workflows/ci-bot.yml- Workflow GitHub Actions (avec upload d'artifacts)ci_agent.sh- Script de détection d'erreurs
1. Modifier le code
2. Exécuter: pytest
3. Si erreur → Popup s'affiche 🔥
4. Rapport HTML généré dans error_reports/
5. Corriger et réexécuter
1. Push vers GitHub
2. Tests exécutés avec --no-popup
3. Si erreur → Rapport HTML généré
4. Rapport uploadé comme artifact
5. Télécharger depuis Actions → Artifacts
6. Ouvrir le HTML dans un navigateur
# Décommenter un test qui échoue dans tests/test_error_popup_demo.py
pytest tests/test_error_popup_demo.py::test_simple_assertion_failure# Méthode 1: Test direct
python3 test_html_report.py
# Méthode 2: Via pytest
pytest tests/test_error_popup_demo.py::test_simple_assertion_failure --no-popup
# Rapport généré dans error_reports/1. Allez sur GitHub → Actions
2. Cliquez sur une exécution échouée
3. Scrollez vers "Artifacts"
4. Téléchargez "error-report"
5. Ouvrez le HTML dans votre navigateur
Créé avec 🔥 pour une détection d'erreurs spectaculaire !