salix-front/test/cypress/docker/run/setup.sh

46 lines
1.5 KiB
Bash

#!/bin/bash
# Configuración: Número de grupos en paralelo (por defecto 4, pero puede sobreescribirse con el primer argumento)
numParallelGroups=${1:-4}
NETWORK="lilium-e2e"
pids=() # Para almacenar los procesos en paralelo
failedTests=() # Para almacenar las carpetas que fallaron
# Limpiar la carpeta de logs antes de cada ejecución
LOG_DIR="test/cypress/docker/logs"
if [[ -d "$LOG_DIR" ]]; then
echo "🧹 Borrando logs anteriores en $LOG_DIR..."
rm -rf "$LOG_DIR"
fi
mkdir -p "$LOG_DIR"
# Verificar si se pasó una carpeta específica como segundo parámetro
if [[ -n "$2" ]]; then
if [[ -d "test/cypress/integration/$2" ]]; then
folders=()
for ((i = 0; i < numParallelGroups; i++)); do
folders+=("test/cypress/integration/$2/")
done
echo "🔍 Ejecutando '$2' en $numParallelGroups instancias paralelas."
else
echo "❌ La carpeta especificada '$2' no existe."
exit 1
fi
else
# Obtener todas las carpetas de pruebas si no se especificó una
folders=($(ls -d test/cypress/integration/*/ 2>/dev/null))
if [[ ${#folders[@]} -eq 0 ]]; then
echo "No se encontraron carpetas de pruebas."
exit 0
fi
fi
# Calcular el tamaño de cada grupo
groupSize=$(( (${#folders[@]} + numParallelGroups - 1) / numParallelGroups )) # Redondeo hacia arriba
# Dividir las carpetas en grupos
groups=()
for ((i = 0; i < ${#folders[@]}; i += groupSize)); do
groups+=("$(printf "%s " "${folders[@]:i:groupSize}")")
done