chiark / gitweb /
Testing: autotest script
authorIan Jackson <ian.jackson@eu.citrix.com>
Tue, 27 Oct 2015 18:08:11 +0000 (18:08 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 27 Oct 2015 18:08:11 +0000 (18:08 +0000)
Can do one test now.  More to be added RSN.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
tests/autotest [new file with mode: 0755]

diff --git a/tests/autotest b/tests/autotest
new file mode 100755 (executable)
index 0000000..0d84c63
--- /dev/null
@@ -0,0 +1,47 @@
+#!/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
+
+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
+}
+
+etxt {You need to log in}
+etxt {Source available}
+
+send "\t\ralice\r\t\rbogus\r\t\r"
+etxt "loading file"
+etxt "wrong password"
+
+puts ok