summaryrefslogtreecommitdiffstats
path: root/testsuite/lib/stap_run2.exp
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/lib/stap_run2.exp')
-rw-r--r--testsuite/lib/stap_run2.exp49
1 files changed, 13 insertions, 36 deletions
diff --git a/testsuite/lib/stap_run2.exp b/testsuite/lib/stap_run2.exp
index 6c22e039..123736f1 100644
--- a/testsuite/lib/stap_run2.exp
+++ b/testsuite/lib/stap_run2.exp
@@ -15,42 +15,19 @@ proc stap_run2 { TEST_NAME args } {
if {[info procs installtest_p] != "" && ![installtest_p]} { untested $TEST_NAME; return }
- # fix up expected string
- regsub -all \n $::result_string \r\n output
-
- # spawn test
- set cmd [concat {stap -v} $args]
- if [file readable $test_file_name] {
- lappend cmd $test_file_name
- }
- eval spawn $cmd
-
- expect {
- -timeout 180
- -re {^Pass\ ([1234]):[^\r]*\ in\ ([0-9]+)usr/([0-9]+)sys/([0-9]+)real\ ms.\r\n}
- {set pass$expect_out(1,string) "\t$expect_out(2,string)\t$expect_out(3,string)\t$expect_out(4,string)"; exp_continue}
- -re {^Pass\ ([34]): using cached [^\r]+\r\n}
- {set pass$expect_out(1,string) "\t0\t0\t0"; exp_continue}
- -re {^Pass 5: starting run.\r\n} {exp_continue}
- -ex $output {
- pass "$TEST_NAME"
- expect {
- -timeout 20
- -re {^Pass\ ([5]):[^\r]*\ in\ ([0-9]+)usr/([0-9]+)sys/([0-9]+)real\ ms\.\r\n}
- {set pass$expect_out(1,string) "\t$expect_out(2,string)\t$expect_out(3,string)\t$expect_out(4,string)"
- verbose -log "metric:\t$TEST_NAME $pass1$pass2$pass3$pass4$pass5"}
- }
- }
- timeout {
- fail "$TEST_NAME timed out" }
- eof {
- fail "$TEST_NAME unexpected EOF" }
- -re "semantic error:" { fail "$TEST_NAME compilation" }
- -re "ERROR:" {
- send "\003"
- fail "$TEST_NAME runtime error"
+ set cmd [concat stap $args $test_file_name]
+ catch {eval exec $cmd} res
+
+ set n 0
+ set expected [split $::result_string "\n"]
+ foreach line [split $res "\n"] {
+ if {![string equal $line [lindex $expected $n]]} {
+ puts "line [expr $n + 1]: expected \"[lindex $expected $n]\""
+ puts "Got \"$line\""
+ fail "$TEST_NAME"
+ return
}
+ incr n
}
- catch close
- wait
+ pass "$TEST_NAME"
}