]> granicus.if.org Git - postgresql/commitdiff
Add support for running regression tests on procedural languages
authorMagnus Hagander <magnus@hagander.net>
Wed, 21 Mar 2007 16:21:40 +0000 (16:21 +0000)
committerMagnus Hagander <magnus@hagander.net>
Wed, 21 Mar 2007 16:21:40 +0000 (16:21 +0000)
src/tools/msvc/vcregress.bat

index b3e0f5223cd57c1ff6de47ae42ab170df4b4d60d..3a3910e3a1428d16e30103e4779fda7b8546a2bf 100644 (file)
@@ -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 <check|installcheck> [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%