1
0
mirror of https://github.com/wfjm/w11.git synced 2026-05-05 15:44:35 +00:00

automation of oskit tests (initial version)

- tools/bin/ostest: driver script for oskit tests
- tools/exptest: configuration files for ostest and other expect based tests
- tools/oskit/test: support files for OS disk/tape image kits
- tools/tcl/exptest: tcl package for expect based tests
- tools/tcl/exptest_rri: tcl package for rri mode
This commit is contained in:
wfjm
2019-08-03 11:45:05 +02:00
parent 84540478cd
commit 9f13421caa
25 changed files with 1111 additions and 4 deletions

View File

@@ -0,0 +1,11 @@
# $Id: 211bsd_rk_setup.tcl 1166 2019-06-20 07:24:48Z 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-06-10 1162 1.0 Initial version
#---
# kit setup for 211bsd_rk
#
source ../os/211bsd/211bsd_base.tcl

View File

@@ -0,0 +1,11 @@
# $Id: 211bsd_rl_setup.tcl 1166 2019-06-20 07:24:48Z 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-06-10 1162 1.0 Initial version
#---
# kit setup for 211bsd_rl
#
source ../os/211bsd/211bsd_base.tcl

View File

@@ -0,0 +1,11 @@
# $Id: 211bsd_rp_setup.tcl 1166 2019-06-20 07:24:48Z 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-06-10 1162 1.0 Initial version
#---
# kit setup for 211bsd_rp
#
source ../os/211bsd/211bsd_base.tcl

View File

@@ -0,0 +1,12 @@
# $Id: 211bsd_rpeth_setup.tcl 1166 2019-06-20 07:24:48Z 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-06-15 1163 1.0 Initial version
#---
# kit setup for 211bsd_rpeth
#
source ../os/211bsd/211bsd_base.tcl
source ../os/211bsd/211bsd_eth.tcl

View File

@@ -0,0 +1,11 @@
# $Id: 211bsd_rpmin_setup.tcl 1166 2019-06-20 07:24:48Z 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-06-10 1162 1.0 Initial version
#---
# kit setup for 211bsd_rpmin
#
source ../os/211bsd/211bsd_base.tcl

View File

@@ -0,0 +1,66 @@
# $Id: 211bsd_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 211bsd
# 2019-06-29 1173 1.0 Initial version
# 2019-06-10 1162 0.1 First draft
#---
# basic procs for 211bsd tests
#
set ::tenv(namespace) "211bsd"; # os namespace
set ::tenv(os_kpr) "\[\n\r\]+# "; # kernel prompt
set ::tenv(os_upr) "\[\n\r\]+$ "; # user prompt
namespace eval 211bsd {
#
# ------------------------------------------------------------------
#
set ::tenv(proc_boot) "211bsd::boot"
proc boot {} {
et_spawn_term "tta0"
et_exp e "70Boot from (.+?) at" ct1 bootdev
et_exp e ": " s "\r"
et_exp e "phys mem = (\[0-9\]+)\n" ct1 pmem
et_exp e "avail mem = (\[0-9\]+)\n" ct1 amem
et_exp e "user mem = (\[0-9\]+)\n" ct1 umem
et_exp t 30 e $::tenv(os_kpr) s "\004"
et_exp t 30 e "login:" s "root\r"
et_exp t 10 e "# "
return
}
#
# ------------------------------------------------------------------
#
set ::tenv(proc_halt) "211bsd::halt"
proc halt {} {
et_exp i $::tenv(sid_tta0)
et_exp s "\r" e $::tenv(os_kpr)
et_exp s "halt\r"
et_exp t 30 e "syncing disks"
et_exp t 10 e "halting"
return
}
#
# ------------------------------------------------------------------
#
lappend ::tenv(procs_test) "211bsd::test_basic"
proc test_basic {} {
et_exp i $::tenv(sid_tta0)
et_exp s "mount\r"
et_exp e "(/dev/\[a-z0-9\]+?) on /" ct1 rootdev
et_exp e $::tenv(os_kpr)
et_exp s "pstat -T\r"
et_exp e "swapmap entries"
et_exp e "coremap entries"
et_exp e "ub_map entries"
et_exp e $::tenv(os_kpr)
return
}
}

View File

@@ -0,0 +1,61 @@
# $Id: 211bsd_eth.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 211bsd
# 2019-06-29 1173 1.0 Initial version
# 2019-06-10 1163 0.1 First draft
#---
# basic procs for 211bsd eth tests
#
set ::tenv(ip_addr) "192.168.178.150"; # w11 system ip address
namespace eval 211bsd {
#
# ------------------------------------------------------------------
#
lappend ::tenv(procs_preboot) "211bsd::eth_preboot"
proc eth_preboot {} {
et_spawn "if_tst" ifconfig
set rc 1
expect {
-re "tap0 +Link" { set rc 0; exp_continue}
eof { }
}
et_close "if_tst"
if ($rc) { puts "-I: 'tap0' device required but not available" }
return $rc
}
#
# ------------------------------------------------------------------
#
lappend ::tenv(procs_test) "211bsd::eth_test_basic"
proc eth_test_basic {} {
et_spawn "pty0" telnet $::tenv(ip_addr)
et_exp e "Trying"
et_exp e "Connected to"
et_exp e "Escape character is"
et_exp e "2.11 BSD UNIX"
et_exp e "login: " s "root\r"
et_exp e $::tenv(os_kpr)
et_exp s "ps -aux\r"
et_exp e "telnetd"
et_exp e $::tenv(os_kpr)
et_exp s "who\r"
et_exp e "root +ttyp"
et_exp e $::tenv(os_kpr)
et_exp s "\004"
et_exp e "Connection closed by foreign host"
et_exp e eof
et_close "pty0"
return
}
}