#!/bin/bash # Phase 5 Quick Test - Tests 3 key combinations # This is a faster subset of the full test suite TEST_FILE="testvid.webm" OUTPUT_DIR="phase5_quick_outputs" LOG_FILE="phase5_quick_results.log" # Colors GREEN='\033[0;32m' BLUE='\033[0;34m' YELLOW='\033[1;33m' NC='\033[0m' mkdir -p "$OUTPUT_DIR" if [ ! -f "$TEST_FILE" ]; then echo -e "${RED}❌ Test file not found: $TEST_FILE${NC}" exit 1 fi ORIGINAL_SIZE=$(du -b "$TEST_FILE" 2>/dev/null | cut -f1) ORIGINAL_SIZE_MB=$(echo "scale=2; $ORIGINAL_SIZE / 1024 / 1024" | bc) echo -e "${BLUE}══════════════════════════════════════════════════════════════${NC}" echo -e "${BLUE}GWENCODER PHASE 5 QUICK TEST${NC}" echo -e "${BLUE}══════════════════════════════════════════════════════════════${NC}" echo "" echo -e "Test file: ${GREEN}$TEST_FILE${NC} (${ORIGINAL_SIZE_MB} MB)" echo "" get_file_size_mb() { local file=$1 if [ -f "$file" ]; then local size=$(du -b "$file" 2>/dev/null | cut -f1) echo "scale=2; $size / 1024 / 1024" | bc else echo "0" fi } run_quick_test() { local test_name=$1 local mode=$2 local flags=$3 echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" echo -e "${BLUE}TEST: $test_name${NC}" echo -e "Command: ${GREEN}./gwencoder $mode $flags${NC}" echo "" find . -maxdepth 1 -name "*GWELL.*" -type f -delete 2>/dev/null start_time=$(date +%s.%N) ./gwencoder $mode $flags 2>&1 | tee "$OUTPUT_DIR/${test_name}.log" > /dev/null end_time=$(date +%s.%N) duration=$(echo "$end_time - $start_time" | bc) duration_rounded=$(printf "%.1f" "$duration") output_file=$(find . -maxdepth 1 -name "*GWELL.*" -type f -newer "$TEST_FILE" 2>/dev/null | head -1) if [ -n "$output_file" ]; then file_size_mb=$(get_file_size_mb "$output_file") mv "$output_file" "$OUTPUT_DIR/" 2>/dev/null echo -e "${GREEN}✅ Completed${NC} - Duration: ${duration_rounded}s, Size: ${file_size_mb} MB" echo "$test_name|$mode|$flags|$duration_rounded|$file_size_mb|✅" >> "$LOG_FILE" else echo -e "${RED}❌ Failed${NC}" echo "$test_name|$mode|$flags|N/A|N/A|❌" >> "$LOG_FILE" fi echo "" } echo "Test Name|Mode|Flags|Duration (s)|Size (MB)|Status" > "$LOG_FILE" # Test 1: Default settings run_quick_test "1_Default" "--fast" "" # Test 2: With AV1 advanced options run_quick_test "2_AV1_Advanced" "--fast" "--av1-preset 8 --av1-crf 30" # Test 3: With audio options run_quick_test "3_Audio_Options" "--fast" "--audio-quality balanced --audio-stereo" echo -e "${BLUE}══════════════════════════════════════════════════════════════${NC}" echo -e "${BLUE}QUICK TEST SUMMARY${NC}" echo -e "${BLUE}══════════════════════════════════════════════════════════════${NC}" echo "" column -t -s'|' "$LOG_FILE" echo "" echo "Full logs in: $OUTPUT_DIR/"