diff options
Diffstat (limited to 'config/netware.exp')
-rw-r--r-- | config/netware.exp | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/config/netware.exp b/config/netware.exp deleted file mode 100644 index 6c0866e..0000000 --- a/config/netware.exp +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. -# -# This file is part of DejaGnu. -# -# DejaGnu is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# DejaGnu is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with DejaGnu; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. - -# This file was written by J.T. Conklin. (jtc@cygnus.com) - -# -# load support libraries -# -load_lib remote.exp - -# set target variables only if needed - -proc ${board}_init { args } { - global NLMCONV - - # FIXME: rootme is undefined. - if {![info exists NLMCONV]} then { - set NLMCONV [findfile "$rootme/../binutils/nlmconv"] - } - global LD - if {![info exists LD]} then { - set LD [findfile "$rootme/../ld/ld-new" "$rootme/../ld/ld-new" [transform "ld"]] - } - - set shell_prompt "Password:" - set shell_id [remote_open target] - if {[target_info exists passwd]} { - set passwd [target_info passwd] - } else { - set passwd "" - } - if {$shell_id < 0} then { - warning "Couldn't connect to target" - return -1 - } - - if {[string match "" $passwd]} then { - stty -echo - send_user "Password: " - expect_user -re "(.*)\n" - send_user "\n" - set passwd "$expect_out(1,string)" - stty echo - } - - send -i $shell_id "$passwd\n" - expect { - -i $shell_id ":" { - verbose "Got termtype prompt" 0 - } - - -i $shell_id timeout { - warning "Connection timed out" - return -1 - } - } - - # FIXME - set shell_prompt "[string toupper [target_info name]]:" - send -i $shell_id "1\n" - - expect { - -i $shell_id -re "$shell_prompt" {} - -i $shell_id timeout { - warning "Connection timed out" - return -1 - } - } -} - - -# -# ${board}_load -- load the program and execute it -# -# See default.exp for explanation of arguments and results. -# - -proc ${board}_load { dest prog args } { - global LD NLMCONV - global tmpdir - global errorCode - - if {[board_info $dest exists fileid]} { - set shell_id [board_info $dest fileid] - } else { - set shell_id -1 - } - - set output "" - - if {$shell_id < 0} then { - verbose -log "$prog not executed because there is no target" 3 - return "untested" - } - - # - set exe [file tail $prog] - - # We can't blindly append a suffix to the object name, because the - # result may not be valid on netware's 8.3 filesystem. - # - # FIXME: tmpdir is undefined. - set nlm "$tmpdir/x.nlm" - set lnk "$tmpdir/x.lnk" - - # build *.lnk file - set fd [open $lnk w] - puts $fd "description \"$exe\"" - puts $fd "screenname \"System Console\"" - puts $fd "module clib.nlm" - puts $fd "module mathlib.nlm" - puts $fd "stack 65536" - puts $fd "debug" - # FIXME: don't hardcode location of prelude.o - puts $fd "input /s1/cygnus/dejagnu/i386-netware/lib/prelude.o" - puts $fd "input $prog" - puts $fd "output $nlm" - close $fd - - # run nlmconv - verbose "Executing: $NLMCONV -l$LD -T$lnk" 1 - catch "exec $NLMCONV -l$LD -T$lnk" output - if {![string match "" $output]} then { - verbose $output 1 - } - if {![string match "NONE" $errorCode]} { - verbose -log "Can't link $prog" 3 - return "fail" - } - - # download - verbose "Downloading $nlm" 1 - catch "exec cp $nlm /.NetWare/[board_info $dest name].nws/sys.nwv/tmp/x.nlm" output - if {![string match "" $output]} then { - verbose $output 1 - verbose -log "cp failed for $nlm" 3 - return "unresolved" - } - - # Wait a second for the file to "settle" on the NetWare server. - # I've encountered unexplained failures without this delay. - # sleep 1 - - - # The NetWare remote console expects to be connected to a vt100 - # compatible terminal. It isn't very efficent, and it seems to - # send screen repaints for no reason. So we have to clear the - # screen as we run each test, otherwise a shell prompt or abort - # message from a previous test could cause incorrect results. - send -i $shell_id "CLS\r\n" - set timeout 1 - expect { - -i $shell_id -re "$shell_prompt" { - exp_continue - } - } - set timeout 10 - - - # Netware does not support exit status. The best we can do to - # detect failures is to look for the "ABNORMAL NLM TERMINATION" - # message printed by abort(). - set ret 0 - send -i $shell_id "LOAD X.NLM\r\n" - expect { - -i $shell_id "ABNORMAL NLM TERMINATION" { - set ret 1 - exp_continue - } - -i $shell_id "Unable to find load file" { - perror "Couldn't execute program" - verbose -log "Couldn't execute program" 3 - return "unresolved" - } - -i $shell_id timeout { - perror "Couldn't execute program (timed out)" - verbose -log "Couldn't execute program (timed out)" 3 - return "unresolved" - } - -i $shell_id -re "[format "%sLOAD" $shell_prompt]" { - exp_continue - } - -i $shell_id -re "$shell_prompt" {} - } - - catch [file delete -force -- $lnk $nlm] - - if { $ret == 0 } { - return "pass" - } else { - return "fail" - } -} - -# -# ${tool}_exit -- shutdown the connection -# - -proc ${board}_exit {} { - remote_close target -} |