#!/usr/bin/expect -f set tt tests/tmp exec rm -rf $tt exec mkdir $tt set pwd [pwd] set env(HOME) $tt set env(CAFTEST_CAF) $pwd set env(TERM) vt100 log_user 0 log_file -a $tt/expect.log spawn -nottycopy \ w3m -config /dev/null -o cgi_bin=$pwd/tests file:///cgi-bin/wrap/Tsuffix proc timeout-abort {} { send_log "\r\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" error "aborting due to timeout" } set timeout 5 expect_after timeout timeout-abort proc elog {args} { set m "[list expect [lindex $args end]]" puts stderr $m # send_log "\n$m\n" eval expect $args } proc etxt {str} { regsub -all { } $str {\W{0,3}\w?} str elog -re $str } proc epage {str} { etxt $str } epage {You need to log in} proc fillformfield {value} { send "\t\r$value\r" } proc submitform-expect {wanttxt} { send "\r" etxt "loading file" epage $wanttxt } fillformfield alice fillformfield bogus send "\t" submitform-expect "wrong password" fillformfield alice fillformfield sesame send "\t" submitform-expect "ACCESSGRANTED" etxt {path = '/Tsuffix'} send "/Make worms\r" submitform-expect "MAKING-worms" send "/Logout\r" submitform-expect "You have been logged out" send "B\x10/Make sponges\r" #submitform-expect "Something sane" puts ok