diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 376c9cc4..6a724f2b 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -27,6 +27,7 @@ The full set of tests is only run for tagged releases. ### Summary - cleanup tbrun setup, drop nexys4 and add nexys4d ([see blog](https://wfjm.github.io/blogs/w11/2019-07-27-nexys4-obituary.html)) +- add ostest support for rsx11m-31_rk, rsx11m-40_rk and rsx11mp-30_rp oskits ### New features ### Changes - tools changes diff --git a/tools/exptest/sys/ostest_midmem_setup.tcl b/tools/exptest/sys/ostest_midmem_setup.tcl index cedf6767..e2d63adc 100644 --- a/tools/exptest/sys/ostest_midmem_setup.tcl +++ b/tools/exptest/sys/ostest_midmem_setup.tcl @@ -1,9 +1,10 @@ -# $Id: ostest_midmem_setup.tcl 1174 2019-06-29 18:00:47Z mueller $ +# $Id: ostest_midmem_setup.tcl 1235 2022-05-07 12:47:28Z mueller $ # SPDX-License-Identifier: GPL-3.0-or-later -# Copyright 2019- by Walter F.J. Mueller +# Copyright 2019-2022 by Walter F.J. Mueller # # Revision History: # Date Rev Version Comment +# 2022-05-07 1236 1.1 only kits on default with oskit loader # 2019-06-29 1174 1.0 Initial version # 2019-06-10 1162 0.1 First draft #--- @@ -14,3 +15,6 @@ source ostest_minmem_setup.tcl # lappend ::et_oskitdef "211bsd_rpmin" # +lappend ::et_oskitdef "rsx11mp-30_rp" +#lappend ::et_oskitdef "rsx11mp-46_rl" +#lappend ::et_oskitdef "rsx11mp-46_rp" diff --git a/tools/exptest/sys/ostest_minmem_setup.tcl b/tools/exptest/sys/ostest_minmem_setup.tcl index 30b31021..e8fed1d1 100644 --- a/tools/exptest/sys/ostest_minmem_setup.tcl +++ b/tools/exptest/sys/ostest_minmem_setup.tcl @@ -1,15 +1,17 @@ -# $Id: ostest_minmem_setup.tcl 1174 2019-06-29 18:00:47Z mueller $ +# $Id: ostest_minmem_setup.tcl 1235 2022-05-07 12:47:28Z mueller $ # SPDX-License-Identifier: GPL-3.0-or-later -# Copyright 2019- by Walter F.J. Mueller +# Copyright 2019-2022 by Walter F.J. Mueller # # Revision History: # Date Rev Version Comment +# 2022-05-07 1236 1.1 only kits on default with oskit loader # 2019-06-29 1174 1.0 Initial version # 2019-06-10 1162 0.1 First draft #--- # setup for small memory systems (<0.5 MB) # -# -# -#lappend ::et_oskitdef "xxdp_rl" +lappend ::et_oskitdef "rsx11m-31_rk" +#lappend ::et_oskitdef "rsx11m-32_rk" +#lappend ::et_oskitdef "rsx11m-32_rl" +lappend ::et_oskitdef "rsx11m-40_rk" diff --git a/tools/mcode/.gitignore b/tools/mcode/.gitignore index 7578bd8c..a75dedfa 100644 --- a/tools/mcode/.gitignore +++ b/tools/mcode/.gitignore @@ -1,6 +1,5 @@ *.cof *.lda *.lst -*.md.html rlink_cext_* sysmon_stim diff --git a/tools/oskit/test/.gitignore b/tools/oskit/test/.gitignore new file mode 100644 index 00000000..98d8a5a6 --- /dev/null +++ b/tools/oskit/test/.gitignore @@ -0,0 +1 @@ +logs diff --git a/tools/oskit/test/README.md b/tools/oskit/test/README.md new file mode 100644 index 00000000..619688b1 --- /dev/null +++ b/tools/oskit/test/README.md @@ -0,0 +1,6 @@ +This directory tree contains **`ostest` configuration files** and is organized in + +| Directory | Content | +| --------- | ------- | +| [kit](kit) | ostest setup file for an oskit | +| [os](os) | ostest environment for an os class | diff --git a/tools/oskit/test/kit/rsx11m-31_rk_setup.tcl b/tools/oskit/test/kit/rsx11m-31_rk_setup.tcl new file mode 100644 index 00000000..13e2efeb --- /dev/null +++ b/tools/oskit/test/kit/rsx11m-31_rk_setup.tcl @@ -0,0 +1,21 @@ +# $Id: rsx11m-31_rk_setup.tcl 1196 2019-07-20 18:18:16Z mueller $ +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright 2019- by Walter F.J. Mueller +# +# Revision History: +# Date Rev Version Comment +# 2019-07-20 1196 1.0.1 Use os namespace rsx11m +# 2019-06-29 1173 1.0 Initial version +# 2019-06-10 1163 0.1 First draft +#--- +# kit setup for rsx11m-31_rk +# + +source ../os/rsx11m/rsx11m_base.tcl + +set ::tenv(startup_q1) ">\\* PLEASE ENTER TIME AND DATE.*?: " +set ::tenv(startup_a1) "[rsx11m::rsx_date "hm_dmy2" 32]\r" +set ::tenv(startup_end) ">@ " +# +set ::tenv(shutdown_q1) "ENTER MINUTES TO WAIT BEFORE SHUTDOWN: " +set ::tenv(shutdown_a1) "\r" diff --git a/tools/oskit/test/kit/rsx11m-40_rk_setup.tcl b/tools/oskit/test/kit/rsx11m-40_rk_setup.tcl new file mode 100644 index 00000000..8b776979 --- /dev/null +++ b/tools/oskit/test/kit/rsx11m-40_rk_setup.tcl @@ -0,0 +1,26 @@ +# $Id: rsx11m-40_rk_setup.tcl 1196 2019-07-20 18:18:16Z mueller $ +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright 2019- by Walter F.J. Mueller +# +# Revision History: +# Date Rev Version Comment +# 2019-07-20 1196 1.0.1 Use os namespace rsx11m +# 2019-06-29 1173 1.0 Initial version +# 2019-06-10 1163 0.1 First draft +#--- +# kit setup for rsx11m-40_rk +# + +source ../os/rsx11m/rsx11m_base.tcl + +set ::tenv(startup_q1) ">\\* PLEASE ENTER TIME AND DATE.*?: " +set ::tenv(startup_a1) "[rsx11m::rsx_date "hm_dmy2" 32]\r" +set ::tenv(startup_q2) ">\\* ENTER LINE WIDTH OF THIS TERMINAL.*?: " +set ::tenv(startup_a2) "\r" +set ::tenv(startup_end) ">@ " +# +set ::tenv(shutdown_q1) "Enter minutes to wait before shutdown: " +set ::tenv(shutdown_a1) "\r" +set ::tenv(shutdown_q2) "OK to shutdown?.+?: " +set ::tenv(shutdown_a2) "Y\r" +set ::tenv(shutdown_end) "SHUTUP operation complete" diff --git a/tools/oskit/test/kit/rsx11mp-30_rp_setup.tcl b/tools/oskit/test/kit/rsx11mp-30_rp_setup.tcl new file mode 100644 index 00000000..d4b6fe32 --- /dev/null +++ b/tools/oskit/test/kit/rsx11mp-30_rp_setup.tcl @@ -0,0 +1,26 @@ +# $Id: rsx11mp-30_rp_setup.tcl 1196 2019-07-20 18:18:16Z mueller $ +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright 2019- by Walter F.J. Mueller +# +# Revision History: +# Date Rev Version Comment +# 2019-07-20 1196 1.0.1 Use os namespace rsx11m +# 2019-06-29 1173 1.0 Initial version +# 2019-06-16 1165 0.1 First draft +#--- +# kit setup for rsx11mp-30_rp +# + +source ../os/rsx11m/rsx11m_base.tcl + +set ::tenv(startup_q1) ">\\* Please enter time and date.*?: " +set ::tenv(startup_a1) "[rsx11m::rsx_date "hm_dmy2" 32]\r" +set ::tenv(startup_end) ">@ " +# +set ::tenv(shutdown_q1) "Enter minutes to wait before shutdown: " +set ::tenv(shutdown_a1) "\r" +set ::tenv(shutdown_q2) "Reason for shutdown.*?:" +set ::tenv(shutdown_a2) "\r" +set ::tenv(shutdown_q3) "OK to shutdown?.+?: " +set ::tenv(shutdown_a3) "Y\r" +set ::tenv(shutdown_end) "SHUTUP operation complete" diff --git a/tools/oskit/test/os/README.md b/tools/oskit/test/os/README.md new file mode 100644 index 00000000..6fefa4ae --- /dev/null +++ b/tools/oskit/test/os/README.md @@ -0,0 +1,7 @@ +This directory tree contains **`ostest` environments for an os class** +and is organized in + +| Directory | Content | +| --------- | ------- | +| [211bsd](211bsd) | ostest environment for 2.11BSD | +| [rsx11m](rsx11m) | ostest environmmet for RSX11M operating systems | diff --git a/tools/oskit/test/os/rsx11m/rsx11m_base.tcl b/tools/oskit/test/os/rsx11m/rsx11m_base.tcl new file mode 100644 index 00000000..62937c1e --- /dev/null +++ b/tools/oskit/test/os/rsx11m/rsx11m_base.tcl @@ -0,0 +1,114 @@ +# $Id: rsx11m_base.tcl 1196 2019-07-20 18:18:16Z mueller $ +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright 2019- by Walter F.J. Mueller +# +# Revision History: +# Date Rev Version Comment +# 2019-07-20 1196 1.1 Use os namespace rsx11m +# 2019-06-29 1173 1.0 Initial version +# 2019-06-10 1163 0.1 First draft +#--- +# basic procs for rsx11m tests +# + +set ::tenv(namespace) "rsx11m"; # os namespace +set ::tenv(os_pr) "\[\n\r\]+>"; # system prompt + +namespace eval rsx11m { + # + # ------------------------------------------------------------------ + # + proc rsx_date {fmt {dyr 32}} { + set tnow [clock seconds] + set yrs [clock format $tnow -format "%Y"] + set res "" + switch -- $fmt { + "hm_dmy2" { append res [clock format $tnow -format "%H:%M"] + append res [clock format $tnow -format " %d-%b"] + append res [format "-%2d" [expr {$yrs-$dyr-1900}] ] + } + "hm_dmy4" { append res [clock format $tnow -format "%H:%M"] + append res [clock format $tnow -format " %d-%b"] + append res [format "-%4d" [expr {$yrs-$dyr}] ] + } + "dmy2_hm" { append res [clock format $tnow -format "%d-%b"] + append res [format "-%2d" [expr {$yrs-$dyr-1900}] ] + append res [clock format $tnow -format " %H:%M"] + } + default { error "rsx_date-E: bad format '$fmt'" } + } + return $res + } + + # + # ------------------------------------------------------------------ + # + set ::tenv(proc_boot) "rsx11m::boot" + proc boot {} { + et_spawn_term "tta0" + + et_exp t 30 e $::tenv(startup_q1) s $::tenv(startup_a1) + if {[info exists ::tenv(startup_q2)]} { + et_exp t 30 e $::tenv(startup_q2) s $::tenv(startup_a2) + } + if {[info exists ::tenv(startup_end)]} { + et_exp t 90 e $::tenv(startup_end) + } + if {[info exists ::tenv(startup_lc)]} { + et_exp e $::tenv(os_pr) + after $::tenv(startup_lw) + et_exp s $::tenv(startup_lc) + et_exp e $::tenv(startup_lq) + et_exp s $::tenv(startup_la) + } + et_exp t 30 e $::tenv(os_pr) + return + } + + # + # -------------------------------------------------------------------- + # + set ::tenv(proc_halt) "rsx11m::halt" + proc halt {} { + et_exp i $::tenv(sid_tta0) + et_exp s "\r" e $::tenv(os_pr) + et_exp s "run \$shutup\r" + et_exp e $::tenv(shutdown_q1) s $::tenv(shutdown_a1) + if {[info exists ::tenv(shutdown_q2)]} { + et_exp e $::tenv(shutdown_q2) s $::tenv(shutdown_a2) + } + if {[info exists ::tenv(shutdown_q3)]} { + et_exp e $::tenv(shutdown_q3) s $::tenv(shutdown_a3) + } + if {[info exists ::tenv(shutdown_end)]} { + et_exp t 60 e $::tenv(shutdown_end) + } else { + set ::timeout 20. + expect { + -re "." { exp_continue } + timeout { } + eof { error "FAIL: rsx11m_halt: unexpected 'eof' seen" } + } + } + return + } + + # + # ------------------------------------------------------------------ + # + lappend ::tenv(procs_test) "rsx11m::test_basic" + proc test_basic {} { + et_exp i $::tenv(sid_tta0) + et_exp s "par\r" + et_exp e "GEN +\[0-7\]+ +\[0-7\]+" + et_exp e $::tenv(os_pr) + et_exp s "dev\r" + et_exp e "TT0:.+?(LOGGED ON|Logged in).+?(LOADED|Loaded)" + et_exp e $::tenv(os_pr) + et_exp s "tas\r" + et_exp e "\.\.\.PIP" + et_exp e $::tenv(os_pr) + return + } + +}