Fix negative error code termination for MSVS (See #86)

This commit is contained in:
Patrick Pelissier committed 2020-12-30 17:58:43 +01:00
1 parent 1377d7a1c2
commit 2cf5bff32d
1 file changed
+5 -4
+5 -4
View File
@@ -55,8 +55,9 @@ for %%f in (test-*.c) do (
echo =================================================
echo Testing %%f
REM Copy the test file as a C++ file as CL.EXE only support C++ file
del test.exe
copy %%f test.cpp
if ERRORLEVEL 1 EXIT /B 1
if not ERRORLEVEL 0 EXIT /B 1
REM Compile the test suite
REM /Zc:preprocessor is mandatory to have a compliant preprocessor
REM /Zc:__cplusplus is needed to report the real value of __cplusplus, so that M*LIB uses the C++ atomic, and not its emulation.
@@ -64,7 +65,7 @@ for %%f in (test-*.c) do (
REM Inform M*LIB to use Annex K by defining __STDC_WANT_LIB_EXT1__
echo Compiling %%f with %compiler%
%compiler% /I.. /O2 /W3 /std:c++14 /Zc:__cplusplus /Zc:preprocessor /D__STDC_WANT_LIB_EXT1__ test.cpp > %%f.log 2>&1
if ERRORLEVEL 1 (
if not ERRORLEVEL 0 (
echo *** BUILD ERROR for %%f *** >> %%f.log
type %%f.log
if /i "%%f" NEQ "%expectedFailure1%" if /i "%%f" NEQ "%expectedFailure2%" EXIT /B 1
@@ -72,10 +73,10 @@ for %%f in (test-*.c) do (
REM Execute it
echo Running %%f
test.exe >> %%f.log 2>&1
if ERRORLEVEL 1 (
if not ERRORLEVEL 0 (
echo *** RUNTIME ERROR for %%f *** >> %%f.log
type %%f.log
if /i "%%f" NEQ "%expectedFailure%" EXIT /B 1
if /i "%%f" NEQ "%expectedFailure%" if /i "%%f" NEQ "%expectedFailure2%" EXIT /B 1
) ELSE (
echo Test OK for %%f >> %%f.log
)