X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=blobdiff_plain;f=tests%2Fautotest;h=1cea707f8df1a4263a988a6196659c0acd8f6cee;hp=4ba46dc5fbf8d801d0044d88065e91651136a692;hb=829bdfa8f56bef52b9eb22d9e4753463cd945dd0;hpb=48521dbb3f433c4a63df6564c4f095555a2dee95;ds=sidebyside diff --git a/tests/autotest b/tests/autotest index 4ba46dc..1cea707 100755 --- a/tests/autotest +++ b/tests/autotest @@ -1,30 +1,44 @@ #!/usr/bin/expect -f -set tt tests/tmp +set testfile [lindex $argv 0] + +switch -glob -- $testfile { + tests/*.at { + regsub {^tests/} $testfile {} id + regsub {\.at$} $id {} id + set tt "tests/tmp/$id" + } + * { + set id "\[[info pid]\]" + 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 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" + error "$id: aborting due to timeout" } -set timeout 5 - -expect_after timeout timeout-abort +set timeout 10 proc elog {args} { + global id set m "[list expect [lindex $args end]]" - puts stderr $m + puts stderr "$id: $m" # send_log "\n$m\n" eval expect $args } @@ -44,6 +58,8 @@ proc dospawn {} { spawn -nottycopy \ w3m -config /dev/null -o cgi_bin=$pwd/tests file:///cgi-bin/wrap/Tsuffix + expect_after timeout timeout-abort + epage {You need to log in} } @@ -64,34 +80,6 @@ proc loginas {user {password sesame} {wanttxt ACCESSGRANTED}} { submitform-expect $wanttxt } -dospawn - -loginas alice bogus "wrong password" - -loginas alice - -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 "You need to log in" - -loginas bob - -send "/Logout\r" -submitform-expect "You have been logged out" - -send "/Log in again\r" -submitform-expect "need to log in" - -loginas bob - -send "BBB\x10/Make sponges\r" -submitform-expect "Login session interrupted" +source $testfile -puts ok +puts "$id: ok"