#!/bin/bash
# ============================================================
#  Diagnostico 4 de Astra: PRUEBAS DE SOLUCION
#  Uso:   curl -fsSL https://astra.nexus.flashhub.net/d4 | sudo bash
# ============================================================
if [ "$(id -u)" != "0" ]; then
    echo "Ejecutalo con sudo (o con el comando de arriba, que ya lo usa)."
    exit 1
fi

echo "================= PRUEBAS DE SOLUCION ASTRA ================="
echo "hostname: $(hostname)"
echo "sistema : $(lsb_release -ds 2>/dev/null)  |  kernel: $(uname -r)"
echo "CPU     : $(grep -m1 "model name" /proc/cpuinfo | cut -d: -f2- | sed 's/^ //')"
echo
echo "== A) Arranque normal (referencia) =="
timeout 6 /usr/bin/astra -c /etc/astra/astra.conf -p 8010 2>&1 | head -4
echo ">>> codigo=$?   (139=SEGFAULT)"
echo
echo "== B) Sin AVX2/FMA (esquiva rutas SIMD del sistema) =="
GLIBC_TUNABLES=glibc.cpu.hwcaps=-AVX2,-FMA timeout 6 /usr/bin/astra -c /etc/astra/astra.conf -p 8011 2>&1 | head -4
echo ">>> codigo=$?"
echo
echo "== C) Sin AVX2/FMA/AVX/BMI2/MOVBE =="
GLIBC_TUNABLES=glibc.cpu.hwcaps=-AVX2,-FMA,-AVX,-BMI2,-MOVBE timeout 6 /usr/bin/astra -c /etc/astra/astra.conf -p 8012 2>&1 | head -4
echo ">>> codigo=$?"
echo
echo "== D) Con hostname distinto (se restaura solo) =="
HN=$(hostname)
hostname astra-nodo-01 2>/dev/null
echo "hostname temporal: $(hostname)"
timeout 6 /usr/bin/astra -c /etc/astra/astra.conf -p 8013 2>&1 | head -4
echo ">>> codigo=$?"
hostname "$HN" 2>/dev/null
echo "(hostname restaurado a: $(hostname))"
echo
echo "===================== FIN ====================="
