#!/usr/bin/expect -f
-set tt tests/tmp
+set testfile [lindex $argv 0]
+
+switch -glob -- $testfile {
+ tests/*.at {
+ regsub {^tests/} $testfile {tests/tmp/} tt
+ regsub {\.at$} $tt {} tt
+ }
+ * {
+ set tt tests/tmp/[info pid]
+ }
+}
exec rm -rf $tt
-exec mkdir $tt
+file mkdir tests/tmp $tt
set pwd [pwd]
set env(HOME) $tt
set env(CAFTEST_CAF) $pwd
+set env(CAFTEST_TMP) $pwd/$tt
set env(TERM) vt100
+set env(CAFTEST_NOSRCDUMP) 1
+set env(LC_ALL) en_GB.utf-8
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
+set timeout 15
expect_after timeout timeout-abort
etxt $str
}
-epage {You need to log in}
+proc dospawn {} {
+ global pwd spawn_id
+
+ spawn -nottycopy \
+ w3m -config /dev/null -o cgi_bin=$pwd/tests file:///cgi-bin/wrap/Tsuffix
+
+ epage {You need to log in}
+}
proc fillformfield {value} {
send "\t\r$value\r"
epage $wanttxt
}
-fillformfield alice
-fillformfield bogus
-send "\t"
-submitform-expect "wrong password"
-
-fillformfield alice
-fillformfield sesame
-send "\t"
-submitform-expect "ACCESSGRANTED"
+proc loginas {user {password sesame} {wanttxt ACCESSGRANTED}} {
+ fillformfield $user
+ fillformfield $password
+ send "\t"
+ submitform-expect $wanttxt
+}
-etxt {path = '/Tsuffix'}
+source $testfile
puts ok