diff options
Diffstat (limited to 'testsuite/lib/stap_run.exp')
-rw-r--r-- | testsuite/lib/stap_run.exp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/testsuite/lib/stap_run.exp b/testsuite/lib/stap_run.exp index 801f1265..63ad597c 100644 --- a/testsuite/lib/stap_run.exp +++ b/testsuite/lib/stap_run.exp @@ -13,7 +13,18 @@ # returns 0 if successful # returns 1 if there was a problem # Additional arguments are passed to stap as-is. +# +# As a side-effect, global 'probe_errors' and 'skipped_probes' are set +# to the number of probe errors and skipped probes seen while +# running the probe. proc stap_run { TEST_NAME {LOAD_GEN_FUNCTION ""} {OUTPUT_CHECK_STRING ""} args } { + global probe_errors + global skipped_probes + + # initialize probe_errors and skipped_probes to 0 + set probe_errors 0 + set skipped_probes 0 + if {[info procs installtest_p] != "" && ![installtest_p]} { untested $TEST_NAME; return } set cmd [concat {stap -v} $args] @@ -40,7 +51,7 @@ proc stap_run { TEST_NAME {LOAD_GEN_FUNCTION ""} {OUTPUT_CHECK_STRING ""} args } send "\003" - #check the output to see if it is sane + # check the output to see if it is sane set output "^systemtap ending probe\r\n$OUTPUT_CHECK_STRING" expect { @@ -50,6 +61,9 @@ proc stap_run { TEST_NAME {LOAD_GEN_FUNCTION ""} {OUTPUT_CHECK_STRING ""} args } -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"} + -re {^WARNING: Number of errors: ([0-9]+), skipped probes: ([0-9]+)\r\n} + {set probe_errors $expect_out(1,string) + set skipped_probes $expect_out(2,string)} } } timeout { fail "$TEST_NAME shutdown (timeout)" } |