diff --git a/bin/pruebasjs.sh b/bin/pruebasjs.sh index a014ee9..b9b80ed 100755 --- a/bin/pruebasjs.sh +++ b/bin/pruebasjs.sh @@ -3,38 +3,43 @@ echo "=== Pruebas de regresión al sistema con Javascript" # Para ejecutar en navegador visible ejecutar con # CONCABEZA=1 bin/pruebasjs -if (test "$PUERTODES" = "") then { - export PUERTODES=33001; -} fi; -if (test "$IPDES" = "") then { - export IPDES=127.0.0.1 +if (test ! -d test/puppeteer) then { + echo "No hay pruebas puppeteer" + exit 0; } fi; + +export IPDES=127.0.0.1 if (test "$RAILS_ENV" = "") then { # Si ejecutamos en RAILS_ENV=test RUTA_RELATIVA será / por # https://github.com/rails/rails/issues/49688 - export RAILS_ENV=development - #export RAILS_ENV=test + export RAILS_ENV=development + #export RAILS_ENV=test } fi; if (test "$CONFIG_HOSTS" = "") then { - export CONFIG_HOSTS=127.0.0.1 + export CONFIG_HOSTS=127.0.0.1 } fi; -fstat | grep ":${PUERTODES}" +. ./.env +if (test "$PUERTOPRU" = "") then { + export PUERTOPRU=33001; +} fi; +fstat | grep ":${PUERTOPRU}" if (test "$?" = "0") then { - echo "Ya está corriendo un proceso en el puerto $PUERTODES, detengalo antes"; + echo "Ya está corriendo un proceso en el puerto $PUERTOPRU, detengalo antes"; exit 1; } fi; if (test ! -f .env) then { echo "Falta .env" exit 1; } fi; -. ./.env +export PUERTODES=$PUERTOPRU echo "IPDES=$IPDES" +echo "PUERTODES=$PUERTODES" if (test "$IPDES" = "127.0.0.1") then { - echo "=== Deteniendo" - bin/detiene + echo "=== Deteniendo" + bin/detiene if (test "$SALTAPRECOMPILA" != "1") then { echo "=== Precompilando" @@ -43,10 +48,13 @@ if (test "$IPDES" = "127.0.0.1") then { bin/rails assets:precompile } fi; - echo "=== Iniciando servidor" - CONFIG_HOSTS=127.0.0.1 R=f bin/corre & + echo "=== Iniciando servidor" + # La siguiente puede fallar mientras reline no arregle situación. + # Ver https://github.com/ruby/reline/issues/690 + # Extra-temporal modificar lib/reline como se describe en ese incidente. + CONFIG_HOSTS=127.0.0.1 R=f bin/corre & CORRE_PID=$! - sleep 5; + sleep 5; echo "CORRE_PID=$CORRE_PID" } fi; diff --git a/bin/regresion.sh b/bin/regresion.sh index a5aeefe..b9456b2 100755 --- a/bin/regresion.sh +++ b/bin/regresion.sh @@ -51,27 +51,45 @@ if (test "$SALTAUNITARIAS" != "1") then { echo "== Pruebas de regresión unitarias" mkdir -p cobertura-unitarias/ rm -rf cobertura-unitarias/{*,.*} - CONFIG_HOSTS=www.example.com RUTA_RELATIVA=/ ${RAILS} test test/models test/controllers test/helpers - if (test "$?" != "0") then { - echo "No pasaron pruebas de regresión unitarias"; - exit 1; + if (test -d test/models) then { + RUTA_RELATIVA=/ ${RAILS} test test/models + if (test "$?" != "0") then { + echo "No pasaron pruebas de regresión unitarias a modelos"; + exit 1; + } fi; } fi; - - - if (test -d test/integration -a "$SALTAINTEGRACION" != "1") then { - CONFIG_HOSTS=www.example.com RUTA_RELATIVA=/ bin/rails test `find test/integration -name "*rb" -type f` + if (test -d test/controllers) then { + CONFIG_HOSTS=www.example.com RUTA_RELATIVA=/ ${RAILS} test test/controllers + if (test "$?" != "0") then { + echo "No pasaron pruebas de regresión unitarias a controladores"; + exit 1; + } fi; + } fi; + if (test -d test/helpers) then { + CONFIG_HOSTS=www.example.com RUTA_RELATIVA=/ ${RAILS} test test/helpers if (test "$?" != "0") then { - echo "No pasaron pruebas de integración"; + echo "No pasaron pruebas de regresión unitarias a auxiliares"; exit 1; } fi; } fi; +} fi; +if (test -d test/integration -a "$SALTAINTEGRACION" != "1") then { + echo "== Pruebas de integración unitarias" + for i in `find test/integration -name "*rb" -type f`; do + echo $i; + CONFIG_HOSTS=www.example.com RUTA_RELATIVA=/ bin/rails test $i + if (test "$?" != "0") then { + echo "No pasó prueba de integración $i"; + exit 1; + } fi; + done; } fi; echo "== PRUEBAS DE REGRESIÓN AL SISTEMA" mkdir -p $rutaap/cobertura-sistema/ rm -rf $rutaap/cobertura-sistema/{*,.*} -if (test "$CI" = "" -a "$SALTACAPYBARA" != "1") then { # Por ahora no en gitlab-ci +if (test "$CI" = "" -a "$SALTACAPYBARA" != "1" -a -d $rutaap/test/system) then { # Por ahora no en gitlab-ci echo "== Con capybara $SALTACAPYBARA" (cd $rutaap; RUTA_RELATIVA="/" CONFIG_HOSTS=127.0.0.1 ${RAILS} msip:stimulus_motores test:system) if (test "$?" != "0") then { @@ -82,7 +100,7 @@ if (test "$CI" = "" -a "$SALTACAPYBARA" != "1") then { # Por ahora no en gitlab- if (test -f $rutaap/bin/pruebasjs.sh -a -d $rutaap/test/puppeteer -a "x$NOPRUEBAJS" != "x1") then { echo "== Con puppeteer" - (cd $rutaap; ${RAILS} msip:stimulus_motores; IPDES=127.0.0.1 bin/pruebasjs.sh) + (cd $rutaap; ${RAILS} msip:stimulus_motores; bin/pruebasjs.sh) if (test "$?" != "0") then { echo "No pasaron pruebas del sistema js"; exit 1; @@ -93,16 +111,13 @@ echo "== Unificando resultados de pruebas en directorio clásico coverage" mkdir -p coverage/ rm -rf coverage/{*,.*} -if (test "$rutaap" = "test/dummy/" -a "$RC" != "heb412_gen" -a "$RC" != "jn316_gen" ) then { - ${RAILS} app:msip:reporteregresion -} else { - ${RAILS} msip:reporteregresion -} fi; +${RAILS} ${MSIP_REPORTEREGRESION} r=$? if (test "$r" != "0") then { exit $r; } fi; + echo "== Copiando resultados para hacerlos visibles en el web en ruta cobertura" # Copiar resultados para hacerlos visibles en web mkdir -p $rutaap/public/${RUTA_RELATIVA}cobertura/