From f48f0de9a5e11c58d08371c76cc7659941d16070 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sat, 12 Nov 2022 15:34:24 -1000 Subject: [PATCH] simulator tests: Fix test setup to tolerate very busy or slow host systems Adjust the RUNLIMIT to specify instructions instead of wall clock time. --- I650/tests/i650_test.ini | 2 +- PDP18B/tests/pdp9_test.ini | 26 +++++++++++++------------- PDP8/tests/pdp8_test.ini | 30 +++++++++++++++--------------- SEL32/tests/sel32_test.ini | 4 ++-- VAX/tests/vax-diag_test.ini | 34 +++++++++++++++++----------------- 5 files changed, 48 insertions(+), 48 deletions(-) diff --git a/I650/tests/i650_test.ini b/I650/tests/i650_test.ini index 21011779..051c5cb3 100644 --- a/I650/tests/i650_test.ini +++ b/I650/tests/i650_test.ini @@ -14,7 +14,7 @@ set mt debug=cmd;data;detail;exp set dsk debug=cmd;data;detail;exp :: Limit maximum diagnostic execution time -runlimit 2 minutes +runlimit 50M instructions set on on error ignore on runtime echof "\r\n*** Test Runtime Limit %SIM_RUNLIMIT% %SIM_RUNLIMIT_UNITS% Exceeded ***\r\n"; exit 1 diff --git a/PDP18B/tests/pdp9_test.ini b/PDP18B/tests/pdp9_test.ini index 545ed475..b81b3c5c 100644 --- a/PDP18B/tests/pdp9_test.ini +++ b/PDP18B/tests/pdp9_test.ini @@ -25,8 +25,8 @@ break 13030 de asw 22 boot -q ptr go -q 13041 -if (PC != 013030 || AC != 000000) echof "Failed."; ex pc; ex ac; exit 1 -echof Passed" +if (PC != 013030 || AC != 000000) echof "Failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; ex pc; ex ac; exit 1 +echof Passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%" :: DZM, DAC, ISZ, JMP, CAL, JMS, XCT, Autoindex, Indirect, Time Clock, PI, DBR (D02A) echof -n "Running MAINDEC-9A-D02A PDP-9 Instruction Test 2" @@ -39,8 +39,8 @@ break 6256 de asw 22 boot -q ptr go -q 6265 -if (PC != 006256 || AC != 000000) echof "Failed."; ex pc; ex ac; exit 1 -echof "Passed" +if (PC != 006256 || AC != 000000) echof "Failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; ex pc; ex ac; exit 1 +echof "Passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%" :: JMP Self (D0DB) echof -n "Running MAINDEC-9A-D0DB PDP-9 JMP-Self Test" @@ -53,8 +53,8 @@ break 17521 de asw 17500 boot -q ptr go -q 17500 -if (PC != 017521 || AC != 000000) echof "Failed."; ex pc; ex ac; exit 1 -echof "Passed" +if (PC != 017521 || AC != 000000) echof "Failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; ex pc; ex ac; exit 1 +echof "Passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%" :: JMP Self (D0EA) echof -n "Running MAINDEC-9A-D0EA PDP-9 JMP Y - Interrupt Test" @@ -67,8 +67,8 @@ de asw 17400 boot -q ptr break 17474 go -q 17400 -if (PC != 017474) echof "Failed."; ex pc; ex ac; exit 1 -echof "Passed" +if (PC != 017474) echof "Failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; ex pc; ex ac; exit 1 +echof "Passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%" :: JMP Self (D0FA) echof -n "Running MAINDEC-9A-D0FA PDP-9 JMS Y - Interrupt Test" @@ -81,8 +81,8 @@ break 17512 de asw 17400 boot -q ptr go -q 17400 -if (PC != 017512) echof "Failed."; ex pc; ex ac; exit 1 -echof "Passed" +if (PC != 017512) echof "Failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; ex pc; ex ac; exit 1 +echof "Passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%" :: JMP Self (D0BA) echof -n "Running MAINDEC-9A-D0BA PDP-9 ISZ Test" @@ -95,10 +95,10 @@ break 144 de asw 100 boot -q ptr go -q 100 -if (PC != 000144 || AC != 000000) echof "Failed."; ex pc; ex ac; exit 1 -echof "Passed" +if (PC != 000144 || AC != 000000) echof "Failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; ex pc; ex ac; exit 1 +echof "Passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%" echof -echof "!! All Tests Passed !!" +echof "!! All Tests Passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS% !!" echof exit 0 diff --git a/PDP8/tests/pdp8_test.ini b/PDP8/tests/pdp8_test.ini index 02b37ed5..694feddb 100644 --- a/PDP8/tests/pdp8_test.ini +++ b/PDP8/tests/pdp8_test.ini @@ -7,7 +7,7 @@ cd %~p0 :: Limit maximum diagnostic execution time -runlimit 2 minutes +runlimit 1500M instructions set on on error ignore on runtime echof "\r\n*** Test Runtime Limit %SIM_RUNLIMIT% %SIM_RUNLIMIT_UNITS% Exceeded ***\n"; exit 1 @@ -28,9 +28,9 @@ load diags/maindec-8e-d0ab-pb.bin dep 5276 7402 dep sr 07777 go -q 200 -if (PC != 0147 || AC != 0) echof "MAINDEC-8/E-D0AB failed."; exit 1 +if (PC != 0147 || AC != 0) echof "MAINDEC-8/E-D0AB failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; exit 1 go -q -if (PC != 05277) echof "MAINDEC-8/E-D0AB failed."; exit 1 +if (PC != 05277) echof "MAINDEC-8/E-D0AB failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; exit 1 echof "passed" :: Autoindexing, Indirect addressing, and the DCA instruction with @@ -44,7 +44,7 @@ load diags/maindec-8e-d0bb-pb.bin dep 3740 7402 dep sr 0 go -q 200 -if (PC != 03741) echof "MAINDEC-8/E-D0BB failed."; exit 1 +if (PC != 03741) echof "MAINDEC-8/E-D0BB failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; exit 1 echof "passed" :: The ADDER test @@ -56,9 +56,9 @@ dep 4561 7402 :: And ask the tests to be quiet, test extended (banked) memory. dep sr 0200 go -q 200 -if (PC != 04622) echof "MAINDEC-8/E-D0CC failed."; exit 1 +if (PC != 04622) echof "MAINDEC-8/E-D0CC failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; exit 1 echof -echof "** PDP-8: Adder test passed." +echof "** PDP-8: Adder test passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%." :: Random AND tests echof -n "** PDP-8: Random AND test: " @@ -66,8 +66,8 @@ load diags/maindec-8e-d0db-pb.bin :: Halt after one 4096 loop pass, suppress output dep sr 02400 go -q 200 -if (PC != 00355) echof "MAINDEC-8/E-D0DB failed."; exit 1 -echof "passed." +if (PC != 00355) echof "MAINDEC-8/E-D0DB failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; exit 1 +echof "passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%." :: Random TAD tests echof -n "** PDP-8: Random TAD test: " @@ -78,8 +78,8 @@ dep 6743 7402 :: Suppress output dep sr 00400 go -q 200 -if (PC != 06744) echof "MAINDEC-8/E-D0EB failed."; exit 1 -echof "passed." +if (PC != 06744) echof "MAINDEC-8/E-D0EB failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS% ."; exit 1 +echof "passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%." :: Random ISZ tests :: Bit more of a challenge: cant just put a HLT instruction to @@ -88,8 +88,8 @@ if (SIM_REGEX_TYPE == "") echof "Missing Regular Expression support - skipping R echof "** PDP-8: Random ISZ test: " load diags/maindec-8e-d0fc-pb.bin dep sr 0 -expect -r [25] "\r\nFC" echof; echof "** PDP-8: Random ISZ test: passed." -expect -r "F [0-7]{4}" echof; echof "** PDP-8: Random ISZ test: MAINDEC-8/E-D0FC failed."; exit 1 +expect -r [25] "\r\nFC" echof; echof "** PDP-8: Random ISZ test: passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%." +expect -r "F [0-7]{4}" echof; echof "** PDP-8: Random ISZ test: MAINDEC-8/E-D0FC failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; exit 1 go -q 200 :ISZ_DONE @@ -100,10 +100,10 @@ load diags/maindec-8e-d0gc-pb.bin dep 0404 7402 dep sr 0 go -q 200 -if (PC != 0405) echof "MAINDEC-8/E-D0GC failed."; exit 1 -echof "passed." +if (PC != 0405) echof "MAINDEC-8/E-D0GC failed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%."; exit 1 +echof "passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%." echof -echof "!! All Tests Passed !!" +echof "!! All Tests Passed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS% !!" echof exit 0 diff --git a/SEL32/tests/sel32_test.ini b/SEL32/tests/sel32_test.ini index 7e2976e7..c39b349f 100644 --- a/SEL32/tests/sel32_test.ini +++ b/SEL32/tests/sel32_test.ini @@ -23,7 +23,7 @@ set env HOST=sel32 ;====================================================== ; ; Set run limit of 2 minutes -set runlimit 2 minutes +set runlimit 600M instructions set on on error ignore on runtime echof "\r\n*** FAILED - SEL32 Test Runtime Limit %SIM_RUNLIMIT% %SIM_RUNLIMIT_UNITS% Exceeded ***\n"; exit 1 @@ -214,7 +214,7 @@ set cpu idle ;bo dma0 ; ; Go to simh on completion of script -expect "DOL>" echof "\r\n*** PASSED - SEL32 Autobatch Diagnostic Successfully Completed\n"; exit 0 +expect "DOL>" echof "\r\n*** PASSED - SEL32 Autobatch Diagnostic Successfully Completed after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n"; exit 0 ; Boot from mag tape bo mta0 ;det all diff --git a/VAX/tests/vax-diag_test.ini b/VAX/tests/vax-diag_test.ini index 1cd6a661..0c41ecf7 100644 --- a/VAX/tests/vax-diag_test.ini +++ b/VAX/tests/vax-diag_test.ini @@ -18,10 +18,10 @@ #set cpu hist=20000 #break A3B4 SHOW HIST=40 cd %~p0 -set runlimit 2 minutes +set runlimit 600M instructions set on on error ignore -on runtime echof "\r\n*** Test Runtime Limit %SIM_RUNLIMIT% %SIM_RUNLIMIT_UNITS% Exceeded ***\n"; exit 1 +on runtime echof "\r\n*** Test Runtime Limit %SIM_RUNLIMIT% %SIM_RUNLIMIT_UNITS% Exceeded after running %SIM_RUNTIME% %SIM_RUNTIME_UNITS% ***\n"; exit 1 set env DIAG_QUIET_MODE=0 if ("%1" == "-v") set console notelnet @@ -43,8 +43,8 @@ echo Running Hardware Core Test (EHKAA) if not exist ehkaa-uv1.exe echof "\r\nMISSING - Diagnostic '%~p0ehkaa-uv1.exe' is missing\n"; exit 1 load ehkaa-uv1.exe go -q 200 -if (PC != 0x1150DA51) echof "\r\n*** FAILED - %SIM_NAME% Hardware Core Instruction test EHKAA\n"; exit 1 -else echof "\r\n*** PASSED - %SIM_NAME% Hardware Core Instruction test EHKAA\n"; exit 0 +if (PC != 0x1150DA51) echof "\r\n*** FAILED - %SIM_NAME% Hardware Core Instruction test EHKAA after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n"; exit 1 +else echof "\r\n*** PASSED - %SIM_NAME% Hardware Core Instruction test EHKAA after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n"; exit 0 :DIAG_INFOSERVER100 :DIAG_INFOSERVER1000 @@ -59,8 +59,8 @@ echo Running Hardware Core Test (EHKAA) if not exist ehkaa.exe echof "\r\nMISSING - Diagnostic '%~p0ehkaa.exe' is missing\n"; exit 1 load ehkaa.exe go -q 200 -if (PC != 0x80018AD1) echof "\r\n*** FAILED - %SIM_NAME% Hardware Core Instruction test EHKAA\n"; exit 1 -else echof "\r\n*** PASSED - %SIM_NAME% Hardware Core Instruction test EHKAA\n"; exit 0 +if (PC != 0x80018AD1) echof "\r\n*** FAILED - %SIM_NAME% Hardware Core Instruction test EHKAA after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n"; exit 1 +else echof "\r\n*** PASSED - %SIM_NAME% Hardware Core Instruction test EHKAA after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n"; exit 0 :DIAG_VAX730 :DIAG_VAX750 @@ -71,9 +71,9 @@ echo Running Hardware Core Test (EVKAA) if not exist evkaa.exe echof "\r\nMISSING - Diagnostic '%~p0evkaa.exe' is missing\n"; exit 1 load evkaa.exe expect "Hit any key to continue" send "\r"; go -q -expect [2] "done!" echof "\r\n*** PASSED - %SIM_NAME% Hardware Core Instruction test EVKAA\n"; goto extended_tests +expect [2] "done!" echof "\r\n*** PASSED - %SIM_NAME% Hardware Core Instruction test EVKAA after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n"; goto extended_tests go -q 200 -echof "\r\n*** FAILED - %SIM_NAME% Hardware Core Instruction test EVKAA\n" +echof "\r\n*** FAILED - %SIM_NAME% Hardware Core Instruction test EVKAA after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n" exit 1 :extended_tests @@ -92,7 +92,7 @@ call do_test EVKAB "VAX Basic Instructions Exerciser" call do_test EVKAC "VAX Floating Point Instructions Exerciser" call do_test EVKAD "VAX Compatibility Mode Instructions Exerciser" #call do_test EVKAE "VAX Privileged Architecture Exerciser" -echof "\n*** All Diagnostic Supervisor tests PASSED ***\n" +echof "\n*** All Diagnostic Supervisor tests PASSED after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS% ***\n" exit 0 :VAX750 @@ -104,7 +104,7 @@ call do_test EVKAB "VAX Basic Instructions Exerciser" call do_test EVKAC "VAX Floating Point Instructions Exerciser" call do_test EVKAD "VAX Compatibility Mode Instructions Exerciser" #call do_test EVKAE "VAX Privileged Architecture Exerciser" -echof "\n*** All Diagnostic Supervisor tests PASSED ***\n" +echof "\n*** All Diagnostic Supervisor tests PASSED after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS% ***\n" exit 0 :VAX780 @@ -116,7 +116,7 @@ call do_test EVKAB "VAX Basic Instructions Exerciser" call do_test EVKAC "VAX Floating Point Instructions Exerciser" call do_test EVKAD "VAX Compatibility Mode Instructions Exerciser" #call do_test EVKAE "VAX Privileged Architecture Exerciser" -echof "\n*** All Diagnostic Supervisor tests PASSED ***\n" +echof "\n*** All Diagnostic Supervisor tests PASSED after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS% ***\n" exit 0 :VAX8200 @@ -125,12 +125,12 @@ expect "DS> " send "ATTACH KA820 HUB KA0 4096 0\r"; go -q expect "DS> " send "ATTACH DWBUA HUB DW0 4 5\r"; go -q # VAX 8200 simulates the floating point accelerator which then # inspires tests to use it. This takes more time. -set runlimit 3 minutes -call Common +set runlimit 600M instructions # Override prior runlimit +call Common call do_test EVKAB "VAX Basic Instructions Exerciser" call do_test EVKAC "VAX Floating Point Instructions Exerciser" #call do_test EVKAE "VAX Privileged Architecture Exerciser" -echof "\n*** All Diagnostic Supervisor tests PASSED ***\n" +echof "\n*** All Diagnostic Supervisor tests PASSED after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS% ***\n" exit 0 :VAX8600 @@ -142,7 +142,7 @@ call do_test EVKAB "VAX Basic Instructions Exerciser" call do_test EVKAC "VAX Floating Point Instructions Exerciser" call do_test EVKAD "VAX Compatibility Mode Instructions Exerciser" #call do_test EVKAE "VAX Privileged Architecture Exerciser" -echof "\n*** All Diagnostic Supervisor tests PASSED ***\n" +echof "\n*** All Diagnostic Supervisor tests PASSED after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS% ***\n" exit 0 :Common @@ -173,6 +173,6 @@ expect "DS> " if (DIAG_QUIET_MODE) echof "\nRunning - %DIAG_DESC% %DIAG_TEST%\n" send "RUN %DIAG_TEST%\r" go -q -if (DIAG_ERRORS > 0) echof "\n*** FAILED - %DIAG_DESC% %DIAG_TEST%\n"; exit 1 -if (DIAG_QUIET_MODE) echof "\n*** PASSED - %DIAG_DESC% %DIAG_TEST%\n" +if (DIAG_ERRORS > 0) echof "\n*** FAILED - %DIAG_DESC% %DIAG_TEST% after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n"; exit 1 +if (DIAG_QUIET_MODE) echof "\n*** PASSED - %DIAG_DESC% %DIAG_TEST% after running for %SIM_RUNTIME% %SIM_RUNTIME_UNITS%\n" return