| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
Ce répertoire contient plusieurs types de tests pour vérifier le traitement séquentiel des événements.
Tests unitaires de la logique de queue sans dépendances (Flask/requests).
python3 -m pytest tests/test_queue_logic.py -vAvantages :
Tests inclus :
Résultat : ✅ 5/5 tests passent
Tests d'intégration avec le DevToolsPlayerProxy complet.
# Nécessite Flask installé
pip install flask
PYTHONPATH=src python3 -m pytest tests/test_sequential_processing.py -vComportement :
Démonstration interactive qui prouve l'efficacité du traitement séquentiel.
python3 tests/demo_race_conditions.pyAffiche :
Exemple de sortie :
Mode PARALLÈLE : 7.2/50 événements traités (85.6% de perte!) Mode SÉQUENTIEL : 50/50 événements traités (0% de perte)
Démonstration du bug critique où task_done() n'était pas appelé pour le signal d'arrêt.
python3 tests/demo_task_done_bug.pyMontre :
Résultat :
❌ Version BUGGÉE : Se bloque à queue.join() ✅ Version CORRIGÉE : Succès en 0.00s! RÈGLE D'OR : task_done() doit être appelé pour CHAQUE get() réussi
Tests basiques d'importation et d'instantiation.
PYTHONPATH=src python3 -m pytest tests/test_imports.py -vNécessite Flask installé.
# Tests unitaires (recommandé)
python3 -m pytest tests/test_queue_logic.py -v
# Démonstration
python3 tests/demo_race_conditions.py# Tous les tests
PYTHONPATH=src python3 -m pytest tests/ -v
# Tests spécifiques
PYTHONPATH=src python3 -m pytest tests/test_imports.py -v
PYTHONPATH=src python3 -m pytest tests/test_sequential_processing.py -v| Fichier | Dépendances | Durée | Blocage? | Utilité |
|---|---|---|---|---|
| test_queue_logic.py | ✅ Aucune | ~2s | ❌ Non | Tests unitaires |
| test_task_done_bug.py | ✅ Aucune | ~0.3s | ❌ Non | Test bug task_done() |
| test_sequential_processing.py | ⚠️ Flask | ~0.3s | ❌ Non (skippés) | Tests d'intégration |
| demo_race_conditions.py | ✅ Aucune | ~3s | ❌ Non | Démo race conditions |
| demo_task_done_bug.py | ✅ Aucune | ~3s | ⚠️ 3s timeout | Démo bug task_done() |
| test_imports.py | ⚠️ Flask | ~1s | ❌ Non | Tests basiques |
Utilisez test_queue_logic.py :
Utilisez demo_race_conditions.py :
Utilisez test_sequential_processing.py (avec Flask installé) :
R: Non, ils sont maintenant protégés :
R: Séparation des concerns :
R: Non ! test_queue_logic.py et demo_race_conditions.py fonctionnent sans Flask.
# Tuer les processus bloqués
pkill -f pytest
# Utiliser seulement les tests sans dépendances
python3 -m pytest tests/test_queue_logic.py -v# Option 1 : Installer Flask
pip install flask
# Option 2 : Utiliser les tests sans dépendances
python3 -m pytest tests/test_queue_logic.py -v
python3 tests/demo_race_conditions.pyVoir RACE_CONDITIONS.md pour la documentation complète sur le traitement séquentiel.
| Back | FazBrowse Home | New Git URL |