Index: Setup/test_all.bat ================================================================== --- Setup/test_all.bat +++ Setup/test_all.bat @@ -108,138 +108,159 @@ SET EAGLESHELL=EagleShell32.exe ) %_VECHO% EagleShell = '%EAGLESHELL%' -%__ECHO2% PUSHD "%ROOT%" - -IF ERRORLEVEL 1 ( - ECHO Could not change directory to "%ROOT%". - GOTO errors -) - -REM -REM NOTE: Set an environment variable that can be used by the test suite to -REM determine that testing is being performed in batch mode. -REM -SET TEST_ALL=1 - -FOR %%C IN (%TEST_CONFIGURATIONS%) DO ( - FOR %%Y IN (%YEARS%) DO ( - IF EXIST "bin\%%Y\%%C\bin" ( - IF NOT DEFINED NOMANAGEDONLY ( - %__ECHO% "Externals\Eagle\bin\%EAGLESHELL%" -anyInitialize "set test_year {%%Y}; set test_configuration {%%C}" -file "%TEST_FILE%" - - IF ERRORLEVEL 1 ( - ECHO Testing of "%%Y/%%C" managed-only assembly failed. - GOTO errors - ) - ) - - IF EXIST "bin\%%Y\%PLATFORM%\%%C" ( - IF NOT DEFINED NOMIXEDMODE ( - IF NOT DEFINED NOXCOPY ( - CALL :fn_CheckForLinq %%Y - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\test.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\test.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - IF DEFINED HAVE_LINQ ( - %__ECHO% XCOPY "bin\%%Y\%%C\bin\System.Data.SQLite.Linq.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\System.Data.SQLite.Linq.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\testlinq.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\testlinq.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\northwindEF.db" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\northwindEF.db" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - ) - - IF DEFINED HAVE_EF6 ( - %__ECHO% XCOPY "bin\%%Y\%%C\bin\EntityFramework.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\EntityFramework.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\System.Data.SQLite.EF6.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\System.Data.SQLite.EF6.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\testef6.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\testef6.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\SQLite.Designer.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\SQLite.Designer.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\Installer.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\Installer.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - ) - - %__ECHO% "Externals\Eagle\bin\%EAGLESHELL%" -preInitialize "set test_year {%%Y}; set test_configuration {%%C}" -initialize -runtimeOption native -file "%TEST_FILE%" - - IF ERRORLEVEL 1 ( - ECHO Testing of "%%Y/%%C" mixed-mode assembly failed. - GOTO errors - ) - ) - ) ELSE ( - %_AECHO% Native directory "bin\%%Y\%PLATFORM%\%%C" not found, skipped. - ) - ) ELSE ( - %_AECHO% Managed directory "bin\%%Y\%%C\bin" not found, skipped. - ) - ) -) - -%__ECHO2% POPD - -IF ERRORLEVEL 1 ( - ECHO Could not restore directory. - GOTO errors +REM +REM NOTE: Set an environment variable that can be used by the test suite to +REM determine that testing is being performed in batch mode. +REM +REM HACK: If the SKIPMAIN environment variable is set, completely skip the +REM main loop. This allows callers to skip 64-bit testing and proceed +REM directly to 32-bit testing. +REM +IF NOT DEFINED SKIPMAIN ( + %__ECHO2% PUSHD "%ROOT%" + + IF ERRORLEVEL 1 ( + ECHO Could not change directory to "%ROOT%". + GOTO errors + ) + + SET TEST_ALL=1 + + FOR %%C IN (%TEST_CONFIGURATIONS%) DO ( + FOR %%Y IN (%YEARS%) DO ( + IF EXIST "bin\%%Y\%%C\bin" ( + IF DEFINED 32BITONLY ( + %__ECHO% DEL /Q "bin\%%Y\%%C\bin\SQLite.Interop.*" + + IF ERRORLEVEL 1 ( + ECHO Failed to delete "bin\%%Y\%%C\bin\SQLite.Interop.*". + GOTO errors + ) + ) + + IF NOT DEFINED NOMANAGEDONLY ( + %__ECHO% "Externals\Eagle\bin\%EAGLESHELL%" -anyInitialize "set test_year {%%Y}; set test_configuration {%%C}" -file "%TEST_FILE%" + + IF ERRORLEVEL 1 ( + ECHO Testing of "%%Y/%%C" managed-only assembly failed. + GOTO errors + ) + ) + + IF EXIST "bin\%%Y\%PLATFORM%\%%C" ( + IF NOT DEFINED NOMIXEDMODE ( + IF NOT DEFINED NOXCOPY ( + CALL :fn_CheckForLinq %%Y + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\test.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\test.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + IF DEFINED HAVE_LINQ ( + %__ECHO% XCOPY "bin\%%Y\%%C\bin\System.Data.SQLite.Linq.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\System.Data.SQLite.Linq.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\testlinq.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\testlinq.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\northwindEF.db" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\northwindEF.db" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + ) + + IF DEFINED HAVE_EF6 ( + %__ECHO% XCOPY "bin\%%Y\%%C\bin\EntityFramework.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\EntityFramework.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\System.Data.SQLite.EF6.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\System.Data.SQLite.EF6.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\testef6.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\testef6.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\SQLite.Designer.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\SQLite.Designer.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\Installer.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\Installer.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + ) + + %__ECHO% "Externals\Eagle\bin\%EAGLESHELL%" -preInitialize "set test_year {%%Y}; set test_configuration {%%C}" -initialize -runtimeOption native -file "%TEST_FILE%" + + IF ERRORLEVEL 1 ( + ECHO Testing of "%%Y/%%C" mixed-mode assembly failed. + GOTO errors + ) + ) + ) ELSE ( + %_AECHO% Native directory "bin\%%Y\%PLATFORM%\%%C" not found, skipped. + ) + ) ELSE ( + %_AECHO% Managed directory "bin\%%Y\%%C\bin" not found, skipped. + ) + ) + ) + + %__ECHO2% POPD + + IF ERRORLEVEL 1 ( + ECHO Could not restore directory. + GOTO errors + ) ) REM REM NOTE: If this is a 64-bit machine and we have not already run the 32-bit REM tests, do so now, unless we are forbidden from doing so. REM IF NOT DEFINED SKIP32BITONLY ( IF NOT DEFINED 32BITONLY ( IF /I NOT "%PROCESSOR_ARCHITECTURE%" == "x86" ( + REM + REM HACK: Always unset the SKIPMAIN environment variable so the primary + REM loop will run when only the 32-bit binaries are being tested. + REM + CALL :fn_UnsetVariable SKIPMAIN + SET PLATFORM=Win32 SET 32BITONLY=1 GOTO redo ) )