Adjust the RUNLIMIT to specify instructions instead of wall clock time. On an unfettered system, the sel32 test completes after some 588 million instructions. On a slow host system, the system clock tick processing will add to the total instructions executed. Increase the limit to 750 million instructions.
98 lines
No EOL
2.2 KiB
INI
98 lines
No EOL
2.2 KiB
INI
:: i650_test.ini
|
|
::
|
|
:: there are not know diagnostic program for ibm 650.
|
|
:: so sanity check of simulator is done by executing some programs
|
|
::
|
|
|
|
cd %~p0
|
|
cd ../sw
|
|
|
|
set console -n log=console.txt
|
|
set debug -q -n debug.txt
|
|
set cpu debug=cmd;data;detail
|
|
set mt debug=cmd;data;detail;exp
|
|
set dsk debug=cmd;data;detail;exp
|
|
|
|
:: Limit maximum diagnostic execution time
|
|
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
|
|
|
|
:: Basic Opcodes test
|
|
|
|
echof
|
|
echof
|
|
echof "** IBM 650: Basic Instruction Test: "
|
|
|
|
do run_fds.ini fds/example.txt
|
|
|
|
if ar!=9999 echof "FDS failed (bad ar)";exit 1
|
|
|
|
:: checks mem contents
|
|
if 0977!=0000000009 echof "FDS failed (bad 0977)";exit 1
|
|
if 0978!=5090000000 echof "FDS failed (bad 0978)";exit 1
|
|
if 0979!=5030000000 echof "FDS failed (bad 0979)";exit 1
|
|
echof "FDS Ok"
|
|
echof "** Test: passed."
|
|
|
|
|
|
echof
|
|
echof
|
|
echof "** IBM 650: Floating Point Instruction Test: "
|
|
|
|
do run_fortransit.ini fortransit/fortransit_example_2_src.txt fortransit/fortransit_example_2_data.txt
|
|
|
|
if -f not "deck_out.dck" == "../tests/testmm.dck" echof "FORTANSIT Mat Mult failed"; exit 1
|
|
|
|
echof "FORTRANSIT Ok"
|
|
echof "** Test: passed."
|
|
|
|
echof
|
|
echof
|
|
echof "** IBM 650: Index, IAS and RAMAC: "
|
|
|
|
do run_supersoap_ramac.ini supersoap/ssoap_example_src.txt
|
|
|
|
if ar!=9898 echof "SuperSoap failed (bad ar)";exit 1
|
|
if -f not "deck_out.dck" == "../tests/ssoapexpl.dck" echof "SuperSoap Example failed"; exit 1
|
|
|
|
echof "SuperSoap Ok"
|
|
echof "** Test: passed."
|
|
|
|
echof
|
|
echof
|
|
echof "** IBM 650: 4k Drum and Tape: "
|
|
|
|
do build_soap4_tap_lib.ini
|
|
if ar!=0002 echof "Soap4 failed (bad ar)";exit 1
|
|
if -f not "deck_out.dck" == "../tests/soap4tap.dck" echof "Soap4 tap lib failed"; exit 1
|
|
|
|
echof "Soap4 Ok"
|
|
echof "** Test: passed."
|
|
|
|
echof
|
|
echof
|
|
echof "** clean up temp files generated during tests "
|
|
|
|
det all
|
|
set -q nodebug
|
|
set -q console nolog
|
|
|
|
del -q debug.txt
|
|
del -q print.txt
|
|
del -q console.txt
|
|
del -q deck_out_run.dck
|
|
del -q deck_out_pat.dck
|
|
del -q deck_out_5cd.dck
|
|
del -q deck_out.dck
|
|
del -q deck_in.dck
|
|
|
|
echof
|
|
echof
|
|
echof "!! All Tests Passed !!"
|
|
echof
|
|
|
|
exit 0
|
|
|
|
:end |