X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=blobdiff_plain;f=tests%2Fautotest;h=f2b2870665fcc91a70234744b76df552331ba6d2;hp=2561f5667fb24e268f2a344baf996d633477a943;hb=3eb1b34dd6160ab9e454feb2648ca3ef52d33eaa;hpb=f23f69e812a3ded0e9030f64a5090e692ca81655 diff --git a/tests/autotest b/tests/autotest index 2561f56..f2b2870 100755 --- a/tests/autotest +++ b/tests/autotest @@ -1,27 +1,37 @@ #!/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 @@ -41,7 +51,14 @@ proc epage {str} { 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" @@ -53,25 +70,13 @@ proc submitform-expect {wanttxt} { 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" +proc loginas {user {password sesame} {wanttxt ACCESSGRANTED}} { + fillformfield $user + fillformfield $password + send "\t" + submitform-expect $wanttxt +} -send "B\x10/Make sponges\r" -#submitform-expect "Something sane" +source $testfile puts ok