summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.syscall/test.tcl
diff options
context:
space:
mode:
authorhunt <hunt>2007-01-09 20:39:19 +0000
committerhunt <hunt>2007-01-09 20:39:19 +0000
commit4f723326777390f7ac0b949046e4adbf67a3f3cd (patch)
tree0b88c8a0017212de92892be22383009314445f92 /testsuite/systemtap.syscall/test.tcl
parente2eb6d496fd095066e41b6ebdbfda79ca088a914 (diff)
downloadsystemtap-steved-4f723326777390f7ac0b949046e4adbf67a3f3cd.tar.gz
systemtap-steved-4f723326777390f7ac0b949046e4adbf67a3f3cd.tar.xz
systemtap-steved-4f723326777390f7ac0b949046e4adbf67a3f3cd.zip
2007-01-09 Martin Hunt <hunt@redhat.com>
* test.exp, test.tcl, test-debug.tcl: PR 3524. Support for separtet source and obj trees.
Diffstat (limited to 'testsuite/systemtap.syscall/test.tcl')
-rwxr-xr-xtestsuite/systemtap.syscall/test.tcl19
1 files changed, 13 insertions, 6 deletions
diff --git a/testsuite/systemtap.syscall/test.tcl b/testsuite/systemtap.syscall/test.tcl
index 41934da4..082eaabe 100755
--- a/testsuite/systemtap.syscall/test.tcl
+++ b/testsuite/systemtap.syscall/test.tcl
@@ -15,6 +15,7 @@ proc cleanup {} {
proc usage {progname} {
puts "Usage: $progname testname"
+ cleanup
}
proc bgerror {error} {
@@ -23,13 +24,19 @@ proc bgerror {error} {
}
trap {cleanup} SIGINT
set testname [lindex $argv 0]
-
if {$testname == ""} {
usage $argv0
exit
}
-set filename "${testname}.c"
-set cmd "stap -c ../${testname} ../sys.stp"
+
+set filename [lindex $argv 1]
+if {$filename == ""} {
+ set filename "${testname}.c"
+ set sys_prog "../sys.stp"
+} else {
+ set sys_prog "[file dirname [file normalize $filename]]/sys.stp"
+}
+set cmd "stap -c ../${testname} ${sys_prog}"
# Extract the expected results
# Use the preprocessor so we can ifdef tests in and out
@@ -61,12 +68,12 @@ if {$ind == 0} {
}
if {[catch {exec mktemp -d staptestXXXXX} dir]} {
- puts "Failed to create temporary directory: $dir"
+ puts stderr "Failed to create temporary directory: $dir"
cleanup
}
+
set current_dir [pwd]
-cd $dir
-
+cd $dir
catch {eval exec $cmd} output
set i 0