1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-27 07:41:28 -08:00
emacs/mps/tool/testrun.bat
Gareth Rees 4b5d396792 Catch-up merge from master sources to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 185288
 ServerID: perforce.ravenbrook.com
2014-04-07 15:02:09 +01:00

134 lines
4.3 KiB
Batchfile
Executable file

@rem $Id$
@rem Copyright (c) 2013-2014 Ravenbrook Limited. See end of file for license.
@rem
@rem This program runs a series of test cases, capturing the output of
@rem each one to a temporary file. In addition, the output of any test
@rem case that fails gets printed to standard output so that it is not
@rem lost when the test is running on a temporary build server (see
@rem job003489). Finally, it prints a summary of passes and failures, and
@rem if there were any failures, it exits with a non-zero status code.
@rem
@rem Usage::
@rem
@rem testrun.bat PLATFORM VARIETY [CASE1 CASE2 ...]
@echo off
set PFM=%1
shift
set VARIETY=%1
shift
set ALL_TEST_CASES=^
abqtest.exe ^
airtest.exe ^
amcss.exe ^
amcsshe.exe ^
amsss.exe ^
amssshe.exe ^
apss.exe ^
arenacv.exe ^
awlut.exe ^
awluthe.exe ^
btcv.exe ^
exposet0.exe ^
expt825.exe ^
finalcv.exe ^
finaltest.exe ^
fotest.exe ^
landtest.exe ^
locbwcss.exe ^
lockcov.exe ^
lockutw3.exe ^
locusss.exe ^
locv.exe ^
messtest.exe ^
mpmss.exe ^
mpsicv.exe ^
mv2test.exe ^
nailboardtest.exe ^
poolncv.exe ^
qs.exe ^
sacss.exe ^
segsmss.exe ^
steptest.exe ^
walkt0.exe ^
zmess.exe
@rem Ensure that test cases don't pop up dialog box on abort()
set MPS_TESTLIB_NOABORT=true
set TEST_COUNT=0
set PASS_COUNT=0
set FAIL_COUNT=0
set SEPARATOR=----------------------------------------
set LOGDIR=%TMP%\mps-%PFM%-%VARIETY%-log
echo Logging test output to %LOGDIR%
if exist %LOGDIR% rmdir /q /s %LOGDIR%
mkdir %LOGDIR%
if "%1"=="" call :run_tests %ALL_TEST_CASES%
if "%FAIL_COUNT%"=="0" (
echo Tests: %TEST_COUNT%. All tests pass.
exit 0
) else (
echo Tests: %TEST_COUNT%. Passes: %PASS_COUNT%. Failures: %FAIL_COUNT%.
exit 1
)
:run_tests
if "%1"=="" exit /b
set /a TEST_COUNT=%TEST_COUNT%+1
echo Running %1
%PFM%\%VARIETY%\%1 > %LOGDIR%\%1
if "%errorlevel%"=="0" (
set /a PASS_COUNT=%PASS_COUNT%+1
) else (
echo %SEPARATOR%%SEPARATOR%
type %LOGDIR%\%1
echo %SEPARATOR%%SEPARATOR%
set /a FAIL_COUNT=%FAIL_COUNT%+1
)
shift
goto run_tests
@rem C. COPYRIGHT AND LICENSE
@rem
@rem Copyright (C) 2013-2014 Ravenbrook Limited <http://www.ravenbrook.com/>.
@rem All rights reserved. This is an open source license. Contact
@rem Ravenbrook for commercial licensing options.
@rem
@rem Redistribution and use in source and binary forms, with or without
@rem modification, are permitted provided that the following conditions are
@rem met:
@rem
@rem 1. Redistributions of source code must retain the above copyright
@rem notice, this list of conditions and the following disclaimer.
@rem
@rem 2. Redistributions in binary form must reproduce the above copyright
@rem notice, this list of conditions and the following disclaimer in the
@rem documentation and/or other materials provided with the distribution.
@rem
@rem 3. Redistributions in any form must be accompanied by information on how
@rem to obtain complete source code for this software and any accompanying
@rem software that uses this software. The source code must either be
@rem included in the distribution or be available for no more than the cost
@rem of distribution plus a nominal fee, and must be freely redistributable
@rem under reasonable conditions. For an executable file, complete source
@rem code means the source code for all modules it contains. It does not
@rem include source code for modules or files that typically accompany the
@rem major components of the operating system on which the executable file
@rem runs.
@rem
@rem THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
@rem IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@rem TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
@rem PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE
@rem COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
@rem INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
@rem NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
@rem USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
@rem ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
@rem (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
@rem THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.