#!/bin/bash

# 🏁 Auto-detectar ruta base del proyecto
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"

# 📦 Ejecutable (por defecto el del proyecto, o el pasado como argumento)
EXECUTABLE="${1:-$PROJECT_ROOT/build/pollo}"

# 📄 Archivo de salida
OUTPUT_FILE="$SCRIPT_DIR/valgrind_out.txt"

if [[ ! -x "$EXECUTABLE" ]]; then
    echo "❌ Error: Ejecutable no encontrado o no es ejecutable: $EXECUTABLE"
    echo "Uso: $0 [ruta_al_ejecutable]"
    exit 1
fi

echo "🔍 Ejecutando valgrind en: $EXECUTABLE"
echo "📄 Salida en: $OUTPUT_FILE"

valgrind --suppressions="$SCRIPT_DIR/valgrind_exceptions" \
    --leak-check=full \
    "$EXECUTABLE" \
    > "$OUTPUT_FILE" 2>&1

echo "✅ Valgrind completado. Revisa $OUTPUT_FILE"
