summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.syscall/test-debug.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-debug.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-debug.tcl')
-rwxr-xr-xtestsuite/systemtap.syscall/test-debug.tcl40
1 files changed, 24 insertions, 16 deletions
diff --git a/testsuite/systemtap.syscall/test-debug.tcl b/testsuite/systemtap.syscall/test-debug.tcl
index 1eef509a..3497e41b 100755
--- a/testsuite/systemtap.syscall/test-debug.tcl
+++ b/testsuite/systemtap.syscall/test-debug.tcl
@@ -1,12 +1,15 @@
#!/usr/bin/env wish
package require Expect
+set dir ""
+set current_dir ""
+
proc cleanup {} {
global dir current_dir
- puts "cleanup"
+ puts "Cleanup"
if {$current_dir != ""} {
- cd $current_dir
- exec rm -rf $dir
+ cd $current_dir
+ if {$dir != ""} {exec rm -rf $dir}
set current_dir ""
}
exit 0
@@ -22,21 +25,20 @@ proc bgerror {error} {
cleanup
}
trap {cleanup} SIGINT
-if {[catch {exec mktemp -d staptestXXXXX} dir]} {
- puts "Failed to create temporary directory: $dir"
- cleanup
-}
-
-set current_dir ""
set testname [lindex $argv 0]
-set modname [lindex $argv 1]
-
if {$testname == ""} {
usage $argv0
- cleanup
+ 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
@@ -62,8 +64,14 @@ foreach line [split $output "\n"] {
}
if {$ind == 0} {
- puts "UNSUPP"
- exit
+ puts "UNSUPP"
+ cleanup
+ exit
+}
+
+if {[catch {exec mktemp -d staptestXXXXX} dir]} {
+ puts stderr "Failed to create temporary directory: $dir"
+ cleanup
}
set current_dir [pwd]