1
0
mirror of https://github.com/simh/simh.git synced 2026-02-10 18:21:15 +00:00

VAX: Enrich test script to report useful state

This commit is contained in:
Mark Pizzolato
2023-06-27 11:49:54 -10:00
parent 7e8288d84b
commit 07ea607e79

View File

@@ -9,13 +9,15 @@
:: Default execution will run at a simulated pseudo speed reflecting
:: the speed of the original system being simulated. If the script
:: is invoked with a -c as a parameter, diagnostics will be run
:: at full speed with a calibrated clock.
:: at full speed with a calibrated clock, otherwise diagnostics
:: will be run with a pseudo clock scaled to the speed of the original
:: system that the simulator simulates.
::
:: The related diagnostic files must be located in the same directory
:: as this procedure.
::
#set clock async
#set debug -ntp todr.dbg
#set debug -ntp %SIM_BIN_NAME%.dbg
#set todr debug
#set tmr debug
#set int-clock debug=calib
@@ -87,6 +89,10 @@ exit 1
:extended_tests
reset -p
#set todr debug
#set tmr debug
#set int-clock debug=calib
#set int-clock nodebug=queue;gettime;check
if (DIAG_QUIET_MODE) echof "\nStarting VAX Diagnostic Supervisor\n"
if not exist VAX_MINIMUM_DIAGS.dsk echof "\r\nMISSING - Diagnostic disk image '%~p0VAX_MINIMUM_DIAGS.dsk' is missing\n"; exit 1
attach -rq rq0 VAX_MINIMUM_DIAGS.dsk
@@ -164,7 +170,7 @@ expect "DS> " send "ATTACH UDA50 DW0 DUA 772150 154 5 10\r"; go -q
expect "DS> " send "ATTACH RA81 DUA DUA0\r"; go -q
expect "DS> " send "SET LOAD DUA0:[SYSMAINT]\r"; go -q
expect "DS> " send "SELECT KA0\r"; go -q
expect "DS> "
expect "DS> " echof "\r\nDiagnostic Supervisor Startup ready after %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n"; show clock
if (("%DIAG_UNCALIBRATED_CLOCK%") && ("%CPU_SPEED_FACTOR%" != "")) set CLOCK NOCALIBRATE=%CPU_SPEED_FACTOR%K
boot -q RQ0 /R5:10
#set todr debug
@@ -181,10 +187,11 @@ set env -a DIAG_ERRORS=1
noexpect
if (SIM_REGEX_TYPE == "") echof "Missing Regular Expression support - skipping %DIAG_TEST% test\n"; exit 0
if (DIAG_QUIET_MODE) echof "\nRunning - %DIAG_DESC% %DIAG_TEST% starting after %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n"
expect -r "Latency time detected: ([0-9]+) us.\r\n" show clock; go -q
expect -r "Hard error" go -q
expect -r "Pass (d+), test ([0-9][0-9]*), subtest ([0-9][0-9]*), error ([0-9][0-9]*)," set env -a DIAG_ERRORS=_EXPECT_MATCH_GROUP_4; return
expect -r "Pass (d+), test ([0-9][0-9]*), subtest ([0-9][0-9]*), error ([0-9][0-9]*)," set env -a DIAG_ERRORS=_EXPECT_MATCH_GROUP_4; show clock; return
expect -r "System fatal error while testing" go -q
expect -r "\.\. End of run, ([0-9][0-9]*) (error|errors) detected, pass count is [0-9][0-9]*," set env -a DIAG_ERRORS=_EXPECT_MATCH_GROUP_1; go -q
expect -r "\.\. End of run, ([0-9][0-9]*) (error|errors) detected, pass count is [0-9][0-9]*," set env -a DIAG_ERRORS=_EXPECT_MATCH_GROUP_1; show clock; go -q
expect "DS> "
if ("%4" != "") expect "DS> "; send "SET FLAGS TRACE\r"; go -q
send "RUN %DIAG_TEST%%3\r"