ARM port of testsuite and general testsuite fixes
Quentin Barnes
qbarnes@urbana.css.mot.com
Wed Jun 6 21:35:00 GMT 2007
>Well, you've improved things, but you're still missing the "Pass 4"
>output line.
That's because of another bug in the expect script. (I've fixed a
dozen of these bugs now so I'm rather disappointed with myself that
I missed this one until now.)
Patched attached. With the patch, systemtap.base/cache.exp passes
all 18 tests just fine now. I had to bump the timeout up too.
I added a "timeout" condition to be complete.
As an aside, any reason that spaces are escaped in these regular
expressions? I didn't change it in this patch, but why are the
regular expressions written like this:
-re {^Pass\ [1234]:[^\r]*\ in\ [^\r]*\ ms\.\r\n} {exp_continue}
-re {^Pass\ [34]: using cached [^\r\n]+\r\n} {incr cached 1; exp_continue}
And not like this?:
-re {^Pass [1234]:[^\r]* in [^\r]* ms\.\r\n} {exp_continue}
-re {^Pass [34]: using cached [^\r\n]+\r\n} {incr cached 1; exp_continue}
Quentin
Index: systemtap.base/cache.exp
===================================================================
--- systemtap.base/cache.exp (revision 211)
+++ systemtap.base/cache.exp (working copy)
@@ -27,12 +27,14 @@
set cached 0
set compile_errors 0
expect {
- -re {^Pass\ [1234]:[^\r]*\ in\ .*\ ms\.\r\n} {exp_continue}
+ -timeout 90
+ -re {^Pass\ [1234]:[^\r]*\ in\ [^\r]*\ ms\.\r\n} {exp_continue}
-re {^Pass\ [34]: using cached [^\r\n]+\r\n} {incr cached 1; exp_continue}
# pass-4 output
-re {^/[^\r\n]+\.ko\r\n} {exp_continue}
-re "compilation failed" {incr compile_errors 1; exp_continue}
-re "semantic error:" {incr compile_errors 1; exp_continue}
+ timeout { fail "$test (timeout)" }
}
catch close
wait
More information about the Systemtap
mailing list