# Makefile pour RPA Vision V3 - Fiche #4 # Auteur: Dom, Alice Kiro - 15 décembre 2024 # Objectif: Automatisation tests et validation imports .PHONY: test test-fast test-unit test-integration test-performance validate-imports fix-imports check clean help # Variables PYTHON = venv_v3/bin/python PYTEST = venv_v3/bin/pytest # Tests test: @echo "🧪 Lancement tests complets..." $(PYTEST) test-fast: @echo "⚡ Tests rapides (sans les lents)..." $(PYTEST) -m "not slow" test-unit: @echo "🔬 Tests unitaires..." $(PYTEST) tests/unit/ test-integration: @echo "🔗 Tests d'intégration..." $(PYTEST) tests/integration/ test-performance: @echo "📊 Tests de performance..." $(PYTEST) tests/performance/ test-fiche4: @echo "🎯 Tests Fiche #4 (imports stables)..." $(PYTEST) -m fiche4 test-smoke: @echo "💨 Smoke tests E2E (barrière anti-régression)..." $(PYTEST) tests/smoke/ test-fiche5: @echo "🎯 Tests Fiche #5 (smoke test E2E minimal)..." $(PYTEST) tests/smoke/test_smoke_e2e_minimal.py test-fiche6: @echo "🥷 Tests Fiche #6 (sniper mode ranking)..." $(PYTEST) tests/unit/test_target_resolver_sniper_ranking.py test-fiche7: @echo "📋 Tests Fiche #7 (container preference et form logic)..." $(PYTEST) -m fiche7 test-fiche8: @echo "🛡️ Tests Fiche #8 (anti-bugs terrain)..." $(PYTEST) -m fiche8 test-fiche9: @echo "🔄 Tests Fiche #9 (postconditions retry backoff)..." $(PYTEST) -m fiche9 test-fiche10: @echo "📊 Tests Fiche #10 (precision metrics engine)..." $(PYTEST) -m fiche10 # Validation imports validate-imports: @echo "🔍 Validation des imports..." $(PYTHON) validate_imports.py fix-imports: @echo "🔧 Correction automatique des imports..." $(PYTHON) validate_imports.py --fix stats-imports: @echo "📊 Statistiques des imports..." $(PYTHON) validate_imports.py --stats # Validation complète check: validate-imports test-fast @echo "✅ Validation complète terminée" # Nettoyage clean: @echo "🧹 Nettoyage..." find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true find . -type d -name ".pytest_cache" -exec rm -rf {} + 2>/dev/null || true find . -type d -name "*.egg-info" -exec rm -rf {} + 2>/dev/null || true find . -name "*.pyc" -delete 2>/dev/null || true # Aide help: @echo "🎯 Fiche #4 - Imports & Tests Stables" @echo "" @echo "Commandes disponibles:" @echo " test Tests complets" @echo " test-fast Tests rapides (sans 'slow')" @echo " test-unit Tests unitaires seulement" @echo " test-integration Tests d'intégration seulement" @echo " test-performance Tests de performance seulement" @echo " test-fiche4 Tests spécifiques Fiche #4" @echo "" @echo " validate-imports Valider les imports" @echo " fix-imports Corriger les imports automatiquement" @echo " stats-imports Statistiques des imports" @echo "" @echo " check Validation complète (imports + tests rapides)" @echo " clean Nettoyer les fichiers temporaires" @echo " help Afficher cette aide" @echo "" @echo "Exemples:" @echo " make check # Validation rapide avant commit" @echo " make fix-imports # Corriger tous les imports d'un coup" @echo " make test-fast # Tests sans les lents pour dev"