]> sourceware.org Git - systemtap.git/commitdiff
2007-01-09 Martin Hunt <hunt@redhat.com>
authorhunt <hunt>
Tue, 9 Jan 2007 20:39:19 +0000 (20:39 +0000)
committerhunt <hunt>
Tue, 9 Jan 2007 20:39:19 +0000 (20:39 +0000)
* test.exp, test.tcl, test-debug.tcl: PR 3524.
Support for separtet source and obj trees.

testsuite/systemtap.syscall/ChangeLog
testsuite/systemtap.syscall/test-debug.tcl
testsuite/systemtap.syscall/test.exp
testsuite/systemtap.syscall/test.tcl

index d639b06dfceaf70611eb8db093fa01367d99c662..8552351ceba5a9d0354305a4ef18e23c5f86613f 100644 (file)
@@ -1,3 +1,8 @@
+2007-01-09  Martin Hunt  <hunt@redhat.com>
+
+       * test.exp, test.tcl, test-debug.tcl: PR 3524.
+       Support for separtet source and obj trees.
+
 2006-10-27  Martin Hunt  <hunt@redhat.com>
 
        * test.exp, test.tcl: Remove our own caching code
index 1eef509a36098baa39583e29a80c2e369da95ca5..3497e41bcc36425a0f264453a09ae5fa5c078d4b 100755 (executable)
@@ -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]
index 8de1574a77970e229562ce85c46c3734a5aa172c..2d441cb2aaf7e7d937232edb66af11ce514a88f6 100644 (file)
@@ -1,16 +1,17 @@
 proc test_procedure {} {
-    global subdir
-    if {$subdir != ""} {
-       cd $subdir
-    }
-    
-    
+    global srcdir subdir
+    set wd [pwd]
     set flags ""
-    foreach filename [lsort [glob *.c]] {
-       set file [string range $filename 0 end-2]
-       target_compile $filename $file executable $flags
+    if {$srcdir == ""} {
+       set pattern "*.c"
+    } else {
+       set pattern "$srcdir/$subdir/*.c"
+    }
+    foreach filename [lsort [glob $pattern]] {
+       set file [file tail [string range $filename 0 end-2]]
+       target_compile $filename $wd/$file executable $flags
        send_log "Testing ${file}\n"
-       set res [exec ./test.tcl $file]
+       set res [exec $srcdir/$subdir/test.tcl $file $filename]
        if {$res == "PASS"} {
            pass "$file"
        } elseif {$res == "UNSUPP"} {
@@ -24,11 +25,11 @@ proc test_procedure {} {
     if {$::tcl_platform(machine) == "x86_64"} {
        # on x86_64, test 32-bit and 64-bit binaries
        set flags "additional_flags=-m32"
-       foreach filename [lsort [glob *.c]] {
-           set file [string range $filename 0 end-2]
-           target_compile $filename $file executable $flags
+       foreach filename [lsort [glob $pattern]] {
+           set file [file tail [string range $filename 0 end-2]]
+           target_compile $filename $wd/$file executable $flags
            send_log "Testing 32-bit ${file}\n"
-           set res [exec ./test.tcl $file]
+           set res [exec $srcdir/$subdir/test.tcl $file $filename]
            if {$res == "PASS"} {
                pass "32-bit $file"
            } elseif {$res == "UNSUPP"} {
@@ -38,11 +39,7 @@ proc test_procedure {} {
                send_log "$res\n"
            }
        }
-    }
-    
-    if {$subdir != ""} {
-       cd ..
-    }
+    }    
 }
 
 test_procedure
index 41934da417defb1dfcaf11deb8a8081db20afba9..082eaabeb69d4a05f173f859208973d3c300298d 100755 (executable)
@@ -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
This page took 0.036017 seconds and 5 git commands to generate.