From d1eaa42fd52d6a9fe3e4e2f8090166a427db6318 Mon Sep 17 00:00:00 2001
From: Magnus Hagander <magnus@hagander.net>
Date: Tue, 26 Jun 2007 11:43:56 +0000
Subject: [PATCH] Add extra checks for buildfarm to pick up errors when running
 on XP or earlier versions of Windows.

Andrew Dunstan
---
 src/tools/msvc/build.bat     |  4 +++-
 src/tools/msvc/install.bat   |  6 +++++-
 src/tools/msvc/vcregress.bat | 15 ++++++++++++++-
 3 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/src/tools/msvc/build.bat b/src/tools/msvc/build.bat
index e08c4964d71..48f7757d745 100755
--- a/src/tools/msvc/build.bat
+++ b/src/tools/msvc/build.bat
@@ -1,5 +1,5 @@
 @echo off
-REM $PostgreSQL: pgsql/src/tools/msvc/build.bat,v 1.8 2007/04/18 10:14:06 mha Exp $
+REM $PostgreSQL: pgsql/src/tools/msvc/build.bat,v 1.9 2007/06/26 11:43:56 mha Exp $
 
 SETLOCAL
 SET STARTDIR=%CD%
@@ -32,4 +32,6 @@ SET E=%ERRORLEVEL%
 
 cd %STARTDIR%
 
+REM exit fix for pre-2003 shell especially if used on buildfarm
+if "%XP_EXIT_FIX%" == "yes" exit %E%
 exit /b %E%
diff --git a/src/tools/msvc/install.bat b/src/tools/msvc/install.bat
index a5e85742909..3eb8e3ee81a 100644
--- a/src/tools/msvc/install.bat
+++ b/src/tools/msvc/install.bat
@@ -1,11 +1,13 @@
 @echo off
-REM $PostgreSQL: pgsql/src/tools/msvc/install.bat,v 1.1 2007/05/01 20:11:14 mha Exp $
+REM $PostgreSQL: pgsql/src/tools/msvc/install.bat,v 1.2 2007/06/26 11:43:56 mha Exp $
 
 if NOT "%1"=="" GOTO RUN_INSTALL
 
 echo Invalid command line options.
 echo Usage: "install.bat <path>"
 echo.
+REM exit fix for pre-2003 shell especially if used on buildfarm
+if "%XP_EXIT_FIX%" == "yes" exit 1
 exit /b 1
 
 :RUN_INSTALL
@@ -15,4 +17,6 @@ if exist buildenv.bat call buildenv.bat
 
 perl install.pl "%1"
 
+REM exit fix for pre-2003 shell especially if used on buildfarm
+if "%XP_EXIT_FIX%" == "yes" exit %ERRORLEVEL%
 exit /b %ERRORLEVEL%
diff --git a/src/tools/msvc/vcregress.bat b/src/tools/msvc/vcregress.bat
index e3221b268f1..4f30d67cfe6 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.12 2007/06/12 11:07:34 mha Exp $
+REM $PostgreSQL: pgsql/src/tools/msvc/vcregress.bat,v 1.13 2007/06/26 11:43:56 mha Exp $
 
 SETLOCAL
 SET STARTDIR=%CD%
@@ -32,6 +32,8 @@ IF NOT "%2"=="" SET SCHEDULE=%2
 IF "%what%"=="ECPGCHECK" (
    cd "%STARTDIR%"
    msbuild ecpg_regression.proj /p:config=%CONFIG%
+   REM exit fix for pre-2003 shell especially if used on buildfarm
+   if "%XP_EXIT_FIX%" == "yes" if errorlevel 1 exit 1
    if errorlevel 1 exit /b 1
    cd "%TOPDIR%"
    cd src\interfaces\ecpg\test
@@ -48,6 +50,8 @@ if "%what%"=="CONTRIBCHECK" call :contribcheck
 SET E=%ERRORLEVEL%
 
 cd "%STARTDIR%"
+REM exit fix for pre-2003 shell especially if used on buildfarm
+if "%XP_EXIT_FIX%" == "yes" exit %E%
 exit /b %E%
 
 :usage
@@ -61,8 +65,11 @@ REM Some workarounds due to inconsistently named directories
 cd ..\..\PL
 FOR /D %%d IN (*) do if exist %%d\sql if exist %%d\expected (
    if exist ..\..\%CONFIG%\%%d call :oneplcheck %%d
+   REM exit fix for pre-2003 shell especially if used on buildfarm
+   if "%XP_EXIT_FIX%" == "yes" if errorlevel 1 exit 1
    if errorlevel 1 exit /b 1
    if exist ..\..\%CONFIG%\pl%%d call :oneplcheck %%d
+   if "%XP_EXIT_FIX%" == "yes" if errorlevel 1 exit 1
    if errorlevel 1 exit /b 1
 )
 goto :eof
@@ -83,6 +90,8 @@ del regress.tmp.bat
 ..\..\..\%CONFIG%\pg_regress\pg_regress --psqldir=..\..\..\%CONFIG%\psql --no-locale --load-language=%PL% %TESTS%
 set E=%ERRORLEVEL%
 cd ..
+REM exit fix for pre-2003 shell especially if used on buildfarm
+if "%XP_EXIT_FIX%" == "yes" exit %E%
 exit /b %E%
 
 
@@ -94,6 +103,8 @@ for /d %%d IN (*) do if exist %%d\sql if exist %%d\expected if exist %%d\Makefil
    call :onecontribcheck %%d
    if errorlevel 1 set CONTRIBERROR=1
 )
+REM exit fix for pre-2003 shell especially if used on buildfarm
+if "%XP_EXIT_FIX%" == "yes" if %CONTRIBERROR%==1 exit 1
 if %CONTRIBERROR%==1 exit /b 1
 goto :eof
 
@@ -110,4 +121,6 @@ del regress.tmp.bat
 ..\..\%CONFIG%\pg_regress\pg_regress --psqldir=..\..\%CONFIG%\psql --no-locale --dbname=contrib_regression %TESTS%
 set E=%ERRORLEVEL%
 cd ..
+REM exit fix for pre-2003 shell especially if used on buildfarm
+if "%XP_EXIT_FIX%" == "yes" exit %E%
 exit /b %E%
-- 
GitLab