summaryrefslogtreecommitdiffstats
path: root/testsuite/lib
diff options
context:
space:
mode:
authorhunt <hunt>2007-10-25 22:22:16 +0000
committerhunt <hunt>2007-10-25 22:22:16 +0000
commit0379c17346059afa8dffb07eef82eaea726be6d2 (patch)
treeaf53c0b5618fd36d67dd928c65919379d575b135 /testsuite/lib
parent805006f778928f9d43419c3ad0f9e6cd0e9df9c0 (diff)
downloadsystemtap-steved-0379c17346059afa8dffb07eef82eaea726be6d2.tar.gz
systemtap-steved-0379c17346059afa8dffb07eef82eaea726be6d2.tar.xz
systemtap-steved-0379c17346059afa8dffb07eef82eaea726be6d2.zip
2007-10-25 Martin Hunt <hunt@redhat.com>
* systemtap.printf/print_char.*: New test. * systemtap.printf/print.*: New test. * systemtap.printf/println.*: New test. * systemtap.maps/elision.*: New tests. * config/unix.exp: Added stap_run_exact. * lib/stap_run_exact.exp: New. Like stap_run2 but takes a seperate test name.
Diffstat (limited to 'testsuite/lib')
-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"
+}