summaryrefslogtreecommitdiffstats
path: root/testsuite/lib/stap_run_exact.exp
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2007-11-04 14:11:15 -0500
committerFrank Ch. Eigler <fche@elastic.org>2007-11-04 14:11:15 -0500
commit806b26a85d30f59af7dcb0025c68a50bf4bbb352 (patch)
tree8b1cc9edab49eda46278199a7027d956549f6ddb /testsuite/lib/stap_run_exact.exp
parent24993e4fcae48ca014e6b53f3f9a011c9cfa8f06 (diff)
parent600e72b28cc0676dc581b8fc5d54c09772979b79 (diff)
downloadsystemtap-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.exp30
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"
+}