diff --git a/seeds/validate.sh b/seeds/validate.sh index edb2de7..4615098 100755 --- a/seeds/validate.sh +++ b/seeds/validate.sh @@ -29,12 +29,25 @@ trap 'rm -rf "$SCRATCH"' EXIT cp "$SEED" "$SCRATCH/seed.card.json" cd "$SCRATCH" -timeout 5 "$BIN" 2>&1 | tee /tmp/arje-validate.log | \ - grep -E "Tarjeta Semilla cargada|semilla inválida|JSON no contiene|Caused by" | head -5 +LOG="$SCRATCH/ente-zero.log" -if grep -q "Tarjeta Semilla cargada y validada" /tmp/arje-validate.log; then +# `timeout` retorna 124 al matar el proceso (dev-mode termina solo a los 4 s +# de todas formas). Aceptamos cualquier exit code aquí; lo que importa es lo +# que escribió al log. +set +e +timeout 5 "$BIN" >"$LOG" 2>&1 +set -e + +# Mostrar las líneas relevantes (no es fatal si no aparecen — el check real +# es el `grep -q` siguiente). +grep -E "Tarjeta Semilla cargada|semilla inválida|JSON no contiene|Caused by" \ + "$LOG" | head -5 || true + +if grep -q "Tarjeta Semilla cargada y validada" "$LOG"; then echo "[validate] OK: $SEED" exit 0 fi echo "[validate] FALLÓ: $SEED" >&2 +echo "[validate] log completo:" >&2 +sed -n '1,40p' "$LOG" >&2 exit 1