#!/bin/bash # SUPERPORT 마스터 테스트 스위트 실행 스크립트 # # 사용법: # ./run_master_test_suite.sh # 기본 실행 (병렬 모드) # ./run_master_test_suite.sh --sequential # 순차 실행 # ./run_master_test_suite.sh --include License # 특정 화면만 테스트 # ./run_master_test_suite.sh --exclude Company # 특정 화면 제외 # ./run_master_test_suite.sh --verbose # 상세 로그 출력 echo "======================================================" echo "🚀 SUPERPORT 마스터 테스트 스위트 실행" echo "======================================================" echo "" # 현재 디렉토리 저장 CURRENT_DIR=$(pwd) # 프로젝트 루트로 이동 cd "$(dirname "$0")/../../.." || exit 1 # 테스트 리포트 디렉토리 생성 mkdir -p test_reports # 이전 테스트 결과 백업 if [ -d "test_reports" ]; then BACKUP_DIR="test_reports_backup_$(date +%Y%m%d_%H%M%S)" echo "📁 이전 테스트 결과를 백업합니다: $BACKUP_DIR" mv test_reports "$BACKUP_DIR" 2>/dev/null || true mkdir -p test_reports fi # 시작 시간 기록 START_TIME=$(date +%s) echo "🔧 테스트 환경 준비 중..." echo "" # Flutter 패키지 업데이트 echo "📦 Flutter 패키지 업데이트..." flutter pub get echo "" echo "🧪 마스터 테스트 스위트 실행..." echo "======================================================" # 테스트 실행 flutter test test/integration/automated/master_test_suite.dart \ --reporter json > test_reports/test_output.json 2>&1 & TEST_PID=$! # 진행 상황 모니터링 while kill -0 $TEST_PID 2>/dev/null; do echo -n "." sleep 1 done echo "" # 테스트 프로세스 종료 상태 확인 wait $TEST_PID TEST_EXIT_CODE=$? # 종료 시간 기록 END_TIME=$(date +%s) DURATION=$((END_TIME - START_TIME)) echo "" echo "======================================================" echo "📊 테스트 실행 완료" echo "======================================================" echo "⏱️ 총 소요시간: ${DURATION}초" echo "" # 테스트 결과 확인 if [ $TEST_EXIT_CODE -eq 0 ]; then echo "✅ 모든 테스트가 성공했습니다!" else echo "❌ 일부 테스트가 실패했습니다. (Exit code: $TEST_EXIT_CODE)" fi echo "" echo "📄 생성된 리포트:" echo "======================================================" # 생성된 리포트 파일 목록 표시 if [ -d "test_reports" ]; then find test_reports -name "*.md" -o -name "*.html" -o -name "*.json" | while read -r file; do echo " • $file" done fi echo "" echo "💡 리포트를 보려면:" echo " - HTML: open test_reports/master_test_report_*.html" echo " - Markdown: cat test_reports/master_test_report_*.md" echo " - JSON: cat test_reports/master_test_report_*.json" echo "" # 원래 디렉토리로 복귀 cd "$CURRENT_DIR" || exit 1 exit $TEST_EXIT_CODE