1
0
mirror of https://github.com/open-simh/simh.git synced 2026-01-25 11:55:43 +00:00

SCP: Preparing for dynamic testing of simulator REGister definitions at startup

This commit is contained in:
Mark Pizzolato
2020-03-06 15:28:52 -08:00
parent 2e41007e0d
commit b76fd3ed44
7 changed files with 300 additions and 32 deletions

View File

@@ -18,7 +18,7 @@
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)\BuildTools"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="0"
@@ -99,7 +99,7 @@
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)\BuildTools"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="0"

View File

@@ -1,7 +1,14 @@
rem
rem This script performs activities after a simulator build to run
rem simulator specific test activities. Tests are only performed
rem if a simulation test script is available.
rem simulator specific test activities.
rem The test activities performed include:
rem 1) a sanity check on the simh REGister definitions for each
rem device in the simulator. If the register sanity check fails,
rem the build fails and the simulator binary is deleted - since
rem this failure is akin to a compile time error the simulator
rem should be fixed before it can be used.
rem 2) An optional simulator test which is only performed
rem if a simulation test script is available.
rem
rem There are 2 required parameters to this procedure:
rem 1 - The simulator source directory
@@ -10,19 +17,33 @@ rem There are 2 optional parameters to this procedure:
rem 3 A specific test script name
rem 4 Optional parameters to invoke the specified script with
rem
rem These tests will be skipped if there is a file named Post-Build-Event.Skip
rem in the same directory as this procedure.
rem
if exist %2 goto _check_script
if exist %2 goto _check_skip_tests
echo error: Missing simulator binary: %2
exit /B 1
:_check_script
:_check_skip_tests
set _binary_name=%~n2
set _script_name=%~dpn0
if exist "%_script_name%.Skip" echo '%_script_name%.Skip' exists - Testing Disabled & exit /B 0
:_do_reg_sanity
rem Run internal register sanity checks
%2 RegisterSanityCheck
echo.
rem if the register sanity checks fail then this is a failed build
rem so delete the simulator binary.
if ERRORLEVEL 1 del %2 & exit /B 1
:_check_script
set _script_path=..\%1\tests\%3.ini
if exist "%_script_path%" goto _got_script
set _script_path=..\%1\tests\%_binary_name%_test.ini
if exist "%_script_path%" goto _got_script
echo No tests found for %_binary_name% simulator.
echo Simulator specific tests not found for %_binary_name% simulator.
exit /B 0
:_got_script

View File

@@ -62,8 +62,8 @@ goto _next_arg
pushd ..
if "%_X_ROM%" == "" goto _done_rom
SET _BLD=
if exist BIN\NT\Win32-Debug\BuildROMs.exe SET _BLD=BIN\NT\Win32-Debug\BuildROMs.exe
if exist BIN\NT\Win32-Release\BuildROMs.exe SET _BLD=BIN\NT\Win32-Release\BuildROMs.exe
if exist BIN\NT\Win32-Debug\BuildTools\BuildROMs.exe SET _BLD=BIN\NT\Win32-Debug\BuildTools\BuildROMs.exe
if exist BIN\NT\Win32-Release\BuildTools\BuildROMs.exe SET _BLD=BIN\NT\Win32-Release\BuildTools\BuildROMs.exe
if "%_BLD%" == "" echo ************************************************
if "%_BLD%" == "" echo ************************************************
if "%_BLD%" == "" echo ** Project dependencies are not correct. **
@@ -74,8 +74,8 @@ if "%_BLD%" == "" echo error: Review the Output Tab for more details.
if "%_BLD%" == "" exit 1
%_BLD%
if not errorlevel 1 goto _done_rom
if not exist "BIN\NT\Win32-Release\BuildROMs.exe" exit 1
del "BIN\NT\Win32-Release\BuildROMs.exe"
if not exist "BIN\NT\Win32-Release\BuildTools\BuildROMs.exe" exit 1
del "BIN\NT\Win32-Release\BuildTools\BuildROMs.exe"
popd
goto _do_rom
:_done_rom