1
0
mirror of https://github.com/wfjm/w11.git synced 2026-02-17 13:27:33 +00:00

add ostest support for some rsx11m oskits

This commit is contained in:
wfjm
2022-05-08 07:59:47 +02:00
parent 66f3f5d085
commit 67295f9545
11 changed files with 215 additions and 8 deletions

View File

@@ -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 <W.F.J.Mueller@gsi.de>
# Copyright 2019-2022 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
#
# 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"

View File

@@ -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 <W.F.J.Mueller@gsi.de>
# Copyright 2019-2022 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
#
# 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"

View File

@@ -1,6 +1,5 @@
*.cof
*.lda
*.lst
*.md.html
rlink_cext_*
sysmon_stim

1
tools/oskit/test/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
logs

View File

@@ -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 |

View File

@@ -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 <W.F.J.Mueller@gsi.de>
#
# 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) ">@ <EOF>"
#
set ::tenv(shutdown_q1) "ENTER MINUTES TO WAIT BEFORE SHUTDOWN: "
set ::tenv(shutdown_a1) "\r"

View File

@@ -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 <W.F.J.Mueller@gsi.de>
#
# 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) ">@ <EOF>"
#
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"

View File

@@ -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 <W.F.J.Mueller@gsi.de>
#
# 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) ">@ <EOF>"
#
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"

View File

@@ -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 |

View File

@@ -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 <W.F.J.Mueller@gsi.de>
#
# 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
}
}