diff --git a/src/tools/msvc/vcregress.bat b/src/tools/msvc/vcregress.bat index b3e0f5223cd..3a3910e3a14 100644 --- a/src/tools/msvc/vcregress.bat +++ b/src/tools/msvc/vcregress.bat @@ -1,5 +1,5 @@ @echo off -REM $PostgreSQL: pgsql/src/tools/msvc/vcregress.bat,v 1.4 2007/03/21 15:39:03 mha Exp $ +REM $PostgreSQL: pgsql/src/tools/msvc/vcregress.bat,v 1.5 2007/03/21 16:21:40 mha Exp $ SETLOCAL SET STARTDIR=%CD% @@ -9,6 +9,7 @@ if exist src\tools\msvc\buildenv.bat call src\tools\msvc\buildenv.bat set what= if /I "%1"=="check" SET what=CHECK if /I "%1"=="installcheck" SET what=INSTALLCHECK +if /I "%1"=="plcheck" SET what=PLCHECK if "%what%"=="" goto usage SET CONFIG=Debug @@ -30,6 +31,7 @@ SET PERL5LIB=..\..\tools\msvc if "%what%"=="INSTALLCHECK" ..\..\..\%CONFIG%\pg_regress\pg_regress --psqldir=..\..\..\%CONFIG%\psql --schedule=%SCHEDULE%_schedule --multibyte=SQL_ASCII --load-language=plpgsql --no-locale if "%what%"=="CHECK" ..\..\..\%CONFIG%\pg_regress\pg_regress --psqldir=..\..\..\%CONFIG%\psql --schedule=%SCHEDULE%_schedule --multibyte=SQL_ASCII --load-language=plpgsql --no-locale --temp-install=./tmp_check --top-builddir=%TOPDIR% --temp-port=%TEMPPORT% +if "%what%"=="PLCHECK" call :plcheck SET E=%ERRORLEVEL% cd %STARTDIR% @@ -38,3 +40,32 @@ exit /b %E% :usage echo "Usage: vcregress [schedule]" goto :eof + + +REM Check procedural languages +REM Some workarounds due to inconsistently named directories +:plcheck +cd ..\..\PL +FOR /D %%d IN (*) do if exist %%d\sql if exist %%d\expected ( + if exist ..\..\%CONFIG%\%%d call :oneplcheck %%d + if errorlevel 1 exit /b 1 + if exist ..\..\%CONFIG%\pl%%d call :oneplcheck %%d + if errorlevel 1 exit /b 1 +) +goto :eof + +REM Check a single procedural language +:oneplcheck +echo Checking %1 +cd %1 +SET PL=%1 +IF %PL%==plpython SET PL=plpythonu +IF %PL%==tcl SET PL=pltcl + +perl ../../tools/msvc/getregress.pl > regress.tmp.bat +call regress.tmp.bat +del regress.tmp.bat +..\..\..\%CONFIG%\pg_regress\pg_regress --psqldir=..\..\..\%CONFIG%\psql --no-locale --load-language=%PL% %TESTS% +set E=%ERRORLEVEL% +cd .. +exit /b %E%