diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2007-11-04 14:11:15 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2007-11-04 14:11:15 -0500 |
commit | 806b26a85d30f59af7dcb0025c68a50bf4bbb352 (patch) | |
tree | 8b1cc9edab49eda46278199a7027d956549f6ddb /testsuite/lib/stap_run_exact.exp | |
parent | 24993e4fcae48ca014e6b53f3f9a011c9cfa8f06 (diff) | |
parent | 600e72b28cc0676dc581b8fc5d54c09772979b79 (diff) | |
download | systemtap-steved-806b26a85d30f59af7dcb0025c68a50bf4bbb352.tar.gz systemtap-steved-806b26a85d30f59af7dcb0025c68a50bf4bbb352.tar.xz systemtap-steved-806b26a85d30f59af7dcb0025c68a50bf4bbb352.zip |
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'testsuite/lib/stap_run_exact.exp')
-rw-r--r-- | testsuite/lib/stap_run_exact.exp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/testsuite/lib/stap_run_exact.exp b/testsuite/lib/stap_run_exact.exp new file mode 100644 index 00000000..6a473798 --- /dev/null +++ b/testsuite/lib/stap_run_exact.exp @@ -0,0 +1,30 @@ +# stap_run_exact.exp +# +# Simple script for testing multiple lines of exact output. + +# stap_run_exact TEST_NAME filename args +# TEST_NAME is the name printed +# filename is path to the current test +# Additional arguments are passed to stap as-is. +# +# global result_string must be set to the expected output + +proc stap_run_exact { TEST_NAME test_file_name args } { + if {[info procs installtest_p] != "" && ![installtest_p]} { untested $TEST_NAME; return } + + 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]]} { + fail "$TEST_NAME" + send_log "line [expr $n + 1]: expected \"[lindex $expected $n]\"\n" + send_log "Got \"$line\"\n" + return + } + incr n + } + pass "$TEST_NAME" +} |