summaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/ChangeLog46
-rw-r--r--testsuite/lib/systemtap.exp23
-rw-r--r--testsuite/systemtap.base/badkprobe.exp1
-rwxr-xr-xtestsuite/systemtap.base/bz5274.exp8
-rw-r--r--testsuite/systemtap.base/bz6850.exp9
-rw-r--r--testsuite/systemtap.base/static_uprobes.exp139
-rw-r--r--testsuite/systemtap.base/static_uprobes.stp14
-rw-r--r--testsuite/systemtap.base/uprobes.exp9
-rw-r--r--testsuite/systemtap.context/backtrace.tcl2
-rw-r--r--testsuite/systemtap.examples/ChangeLog11
-rwxr-xr-xtestsuite/systemtap.examples/io/traceio2.stp2
-rwxr-xr-xtestsuite/systemtap.examples/process/futexes.stp2
-rwxr-xr-xtestsuite/systemtap.examples/profiling/functioncallcount.stp1
-rwxr-xr-xtestsuite/systemtap.examples/profiling/thread-times.stp3
-rwxr-xr-xtestsuite/systemtap.syscall/test.tcl2
15 files changed, 214 insertions, 58 deletions
diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog
index 9ce0fd10..49ff7b95 100644
--- a/testsuite/ChangeLog
+++ b/testsuite/ChangeLog
@@ -9,6 +9,52 @@
* systemtap.context/usymbols.c: New test program.
* systemtap.context/usymbols.exp: New dejagnu test.
+2009-01-22 Stan Cox <scox@redhat.com>
+
+ * systemtap.base/static_uprobes.exp: Test dtrace.
+
+2009-01-20 Stan Cox <scox@redhat.com>
+
+ * systemtap.base/static_uprobes.exp: Don't test -lsduprobes.
+
+2009-01-20 Wenji Huang <wenji.huang@oracle.com>
+
+ * systemtap.base/bz5274.exp: Add checking utrace.
+ * systemtap.base/bz6850.exp: Ditto.
+ * systemtap.base/static_uprobes.exp: Ditto.
+ * systemtap.base/uprobes.exp: Ditto.
+
+2009-01-13 Stan Cox <scox@redhat.com>
+
+ * systemtap.base/static_uprobes.exp: Use sdt.h
+
+2009-01-11 Wenji Huang <wenji.huang@oracle.com>
+
+ * systemtap.base/badkprobe.exp: Add explicit timeout.
+
+2009-01-09 Dave Brolley <brolley@redhat.com>
+
+ * lib/systemtap.exp: Remove ssl_server_path and ssl_client_path.
+
+2009-01-06 Frank Ch. Eigler <fche@elastic.org>
+
+ PR 9699:
+ * systemtap.context/backtrace.tcl: Correct tcl syntax in fail message.
+
+2008-12-24 Dave Brolley <brolley@redhat.com>
+
+ * lib/systemtap.exp: Rename client_path to net_path.
+ (setup_systemtap_environment): Set ssl_server_path and
+ ssl_client_path. Pass ssl_server_path to stap-find-or-start-server.
+
+2008-12-21 Stan Cox <scox@redhat.com>
+
+ * systemtap.base/static_uprobes.exp: Parms now called $argN
+
+2008-12-16 Stan Cox <scox@redhat.com>
+
+ * systemtap.base/static_uprobes.exp: Generate our own probes file.
+
2008-12-09 Frank Ch. Eigler <fche@elastic.org>
PR6961.
diff --git a/testsuite/lib/systemtap.exp b/testsuite/lib/systemtap.exp
index 28129f0a..f399073e 100644
--- a/testsuite/lib/systemtap.exp
+++ b/testsuite/lib/systemtap.exp
@@ -37,7 +37,7 @@ proc print_systemtap_version {} {
proc setup_systemtap_environment {} {
- global srcdir prefix env server_pid client_path
+ global srcdir prefix env server_pid net_path
# need an absolute SRCDIR for the top-level src/ tree
# XXX: or, we could change nearby uses of ${SRCDIR}/testsuite to ${SRCDIR}
@@ -55,9 +55,14 @@ proc setup_systemtap_environment {} {
if {[use_server_p]} then {
print "Testing using a systemtap server"
- # Server management scripts are installed if this is an install test, otherwise
- # in the source directory. Make sure they are on the $PATH.
+ # A place for some temporary files and scripts.
+ set net_path [exec pwd]/net
+ exec /bin/mkdir -p $net_path
+
+ # Server management scripts and data are installed if this is an
+ # install test, otherwise there is some setup to do.
if {! [installtest_p]} then {
+ # Make sure the server management scripts are on the $PATH.
set env(PATH) "$srcdir/..:$env(PATH)"
}
@@ -76,14 +81,12 @@ proc setup_systemtap_environment {} {
# Make a copy of 'stap-client' as 'stap' and make sure it's at the
# beginning of the $PATH. Do this after starting the server so that
# The server does not call this instance of 'stap'
- set client_path [exec pwd]/net
- exec /bin/mkdir -p $client_path
if {[installtest_p]} then {
- exec /bin/cp -p [exec which stap-client] $client_path/stap
+ exec /bin/cp -p [exec which stap-client] $net_path/stap
} else {
- exec /bin/cp -p $srcdir/../stap-client $client_path/stap
+ exec /bin/cp -p $srcdir/../stap-client $net_path/stap
}
- set env(PATH) "$client_path:$env(PATH)"
+ set env(PATH) "$net_path:$env(PATH)"
}
# PATH, SYSTEMTAP_TAPSET, SYSTEMTAP_RUNTIME, LD_LIBRARY_PATH are already set.
@@ -121,7 +124,7 @@ proc systemtap_init {args} {}
proc systemtap_version {} {}
proc systemtap_exit {} {
- global server_pid client_path
+ global server_pid net_path
# Stop the stap server, if we started it.
if {[use_server_p]} then {
@@ -131,7 +134,7 @@ proc systemtap_exit {} {
}
# Remove the temporary stap script
- exec /bin/rm -fr $client_path
+ exec /bin/rm -fr $net_path
}
}
diff --git a/testsuite/systemtap.base/badkprobe.exp b/testsuite/systemtap.base/badkprobe.exp
index 1a1dbad5..efc06695 100644
--- a/testsuite/systemtap.base/badkprobe.exp
+++ b/testsuite/systemtap.base/badkprobe.exp
@@ -5,6 +5,7 @@ if {! [installtest_p]} { untested $test; return }
spawn stap -g -w -e "$script"
expect {
+ -timeout 60
-re "^WARNING: probe .*registration error.*" { pass $test }
eof { fail "$test (eof)" }
timeout { fail "$test (timeout)" }
diff --git a/testsuite/systemtap.base/bz5274.exp b/testsuite/systemtap.base/bz5274.exp
index 6e95a58b..db0e0a46 100755
--- a/testsuite/systemtap.base/bz5274.exp
+++ b/testsuite/systemtap.base/bz5274.exp
@@ -14,6 +14,14 @@ if {$err == "" && [file exists $test]} then { pass "$test compile"
if {! [installtest_p]} { untested "$test -p5"; return }
+# Try to find utrace_attach symbol in /proc/kallsyms
+# copy from utrace_p5.exp
+set utrace_support_found 0
+set path "/proc/kallsyms"
+if {! [catch {exec grep -q utrace_attach $path} dummy]} {
+ set utrace_support_found 1
+}
+if {$utrace_support_found == 0} { untested "$test -p5"; return }
if {[catch {exec stap $tpath.stp -c "$srcdir/$subdir/$test.sh"} res]} {
untested "$test longjmp to a uretprobed function"
diff --git a/testsuite/systemtap.base/bz6850.exp b/testsuite/systemtap.base/bz6850.exp
index b06b1696..73fedc8a 100644
--- a/testsuite/systemtap.base/bz6850.exp
+++ b/testsuite/systemtap.base/bz6850.exp
@@ -3,6 +3,15 @@ set test bz6850
catch {exec gcc -g -o bz6850 $srcdir/$subdir/bz6850.c} err
if {$err == "" && [file exists bz6850]} then { pass "$test compile" } else { fail "$test compile" }
+# Try to find utrace_attach symbol in /proc/kallsyms
+# copy from utrace_p5.exp
+set utrace_support_found 0
+set path "/proc/kallsyms"
+if {! [catch {exec grep -q utrace_attach $path} dummy]} {
+ set utrace_support_found 1
+}
+if {$utrace_support_found == 0} { untested "$test -p4"; untested "$test -p5"; return }
+
set rc [stap_run_batch $srcdir/$subdir/bz6850.stp]
if {$rc == 0} then { pass "$test -p4" } else { fail "$test -p4" }
diff --git a/testsuite/systemtap.base/static_uprobes.exp b/testsuite/systemtap.base/static_uprobes.exp
index 78641d3f..eb0d1c6e 100644
--- a/testsuite/systemtap.base/static_uprobes.exp
+++ b/testsuite/systemtap.base/static_uprobes.exp
@@ -8,28 +8,30 @@ set sup_flags "additional_flags=-iquote$env(SYSTEMTAP_RUNTIME) additional_flags=
set fp [open $sup_srcpath "w"]
puts $fp "
#include <stdlib.h>
-#include \"sduprobes.h\"
+#define USE_STAP_PROBE 1
+#include \"static_uprobes.h\"
foo ()
{
- STAP_PROBE(tstlabel,label1);
+ STAP_PROBE(static_uprobes,test_probe_1);
}
bar (int i)
{
if (i == 0)
i = 1000;
- STAP_PROBE1(tstlabel,label2,i);
+ STAP_PROBE1(static_uprobes,test_probe_2,i);
}
baz (int i, char* s)
{
+ STAP_PROBE1(static_uprobes,test_probe_0,i);
if (i == 0)
i = 1000;
- STAP_PROBE2(tstlabel,label3,i,s);
+ STATIC_UPROBES_TEST_PROBE_3(i,s);
}
-buz ()
+buz (int parm)
{
}
@@ -39,46 +41,120 @@ main ()
foo();
bar(2);
baz(3,\"abc\");
+ buz(4);
}
"
close $fp
-set res [target_compile $sup_srcpath $sup_exepath executable $sup_flags]
-if { $res != "" } {
- verbose "target_compile failed: $res" 2
- fail "compiling static_uprobes.c"
- return
-} else {
- pass "compiling static_uprobes.c"
+# set res [target_compile $sup_srcpath $sup_exepath executable $sup_flags]
+# if { $res != "" } {
+# verbose "target_compile failed: $res" 2
+# fail "compiling static_uprobes.c"
+# return
+# } else {
+# pass "compiling static_uprobes.c"
+# }
+
+set fp [open "[pwd]/static_uprobes.stp" "w"]
+puts $fp "
+probe process(\"static_uprobes.x\").mark(\"test_probe_0\")
+{
+ printf(\"In test_probe_0 probe %#x\\n\", \$arg1)
+}
+probe process(\"static_uprobes.x\").mark(\"test_probe_1\")
+{
+ printf(\"In test_probe_1 probe\\n\")
+}
+probe process(\"static_uprobes.x\").mark(\"test_probe_2\")
+{
+ printf(\"In test_probe_2 probe %#x\\n\", \$arg1)
}
+probe process(\"static_uprobes.x\").mark(\"test_probe_3\")
+{
+ printf(\"In test_probe_3 probe %#x %#x\\n\", \$arg1, \$arg2)
+}
+"
+close $fp
-set ok 0
-spawn stap -c $sup_exepath $srcdir/$subdir/static_uprobes.stp
-expect {
- -timeout 180
- -re {In label1 probe} { incr ok; exp_continue }
- -re {In label2 probe 0x2} { incr ok; exp_continue }
- -re {In label3 probe 0x3 0x[0-9a-f][0-9a-f]} { incr ok; exp_continue }
- timeout { fail "$test (timeout)" }
- eof { }
+# Try to find utrace_attach symbol in /proc/kallsyms
+# copy from utrace_p5.exp
+set utrace_support_found 0
+set path "/proc/kallsyms"
+if {! [catch {exec grep -q utrace_attach $path} dummy]} {
+ set utrace_support_found 1
}
+if {$utrace_support_found == 0} { untested "$test"; return }
+
+set ok 0
+# verbose -log "spawn stap -c $sup_exepath [pwd]/static_uprobes.stp"
+# spawn stap -c $sup_exepath [pwd]/static_uprobes.stp
+# expect {
+# -timeout 180
+# -re {In test_probe_1 probe} { incr ok; exp_continue }
+# -re {In test_probe_2 probe 0x2} { incr ok; exp_continue }
+# -re {In test_probe_0 probe 0x3} { incr ok; exp_continue }
+# -re {In test_probe_3 probe 0x3 0x[0-9a-f][0-9a-f]} { incr ok; exp_continue }
+# timeout { fail "$test (timeout)" }
+# eof { }
+# }
+
+# if {$ok == 4} { pass "$test" } { fail "$test ($ok)" }
+set ok 0
# Now do a debuginfo style probe of the above test
set fp [open "[pwd]/static_uprobes.sh" "w"]
puts $fp "
ed $sup_srcpath <<HERE
-1a
-#define USE_STAP_DEBUGINFO_PROBE 1
+/USE_STAP_PROBE/d
+/buz/+1
+a
+ DTRACE_PROBE1(static_uprobes,test_probe_4,parm);
.
w
q
-HERE
"
close $fp
spawn sh [pwd]/static_uprobes.sh
-set sup_flags "additional_flags=-iquote$env(SYSTEMTAP_RUNTIME) additional_flags=-g additional_flags=$env(SYSTEMTAP_RUNTIME)/sduprobes.c"
+set fp [open "[pwd]/static_uprobes.stp" "w"]
+puts $fp "
+probe process(\"static_uprobes.x\").mark(\"test_probe_0\")
+{
+ printf(\"In test_probe_0 probe %#x\\n\", \$arg1)
+}
+probe process(\"static_uprobes.x\").mark(\"test_probe_1\")
+{
+ printf(\"In test_probe_1 probe\\n\")
+}
+probe process(\"static_uprobes.x\").mark(\"test_probe_2\")
+{
+ printf(\"In test_probe_2 probe %#x\\n\", \$arg1)
+}
+probe process(\"static_uprobes.x\").mark(\"test_probe_3\")
+{
+ printf(\"In test_probe_3 probe %#x %#x\\n\", \$arg1, \$arg2)
+}
+probe process(\"static_uprobes.x\").mark(\"test_probe_4\")
+{
+ printf(\"In test_probe_4 dtrace probe %#x\\n\", \$arg1)
+}
+"
+close $fp
+
+set fp [open "[pwd]/static_uprobes.d" "w"]
+puts $fp "
+provider static_uprobes {
+ probe test_probe_1 ();
+ probe test_probe_2 (int i);
+ probe test_probe_3 (int i, char* x);
+ probe test_probe_4 (int i);
+};
+"
+close $fp
+spawn dtrace -h -s [pwd]/static_uprobes.d
+
+set sup_flags "additional_flags=-iquote$env(SYSTEMTAP_RUNTIME) additional_flags=-g additional_flags=-O additional_flags=-I."
set res [target_compile $sup_srcpath $sup_exepath executable $sup_flags]
if { $res != "" } {
verbose "target_compile failed: $res" 2
@@ -88,16 +164,19 @@ if { $res != "" } {
pass "compiling sduprobes.c -g"
}
-spawn stap -c $sup_exepath $srcdir/$subdir/static_uprobes.stp
+verbose -log "spawn stap -c $sup_exepath [pwd]/static_uprobes.stp"
+spawn stap -c $sup_exepath [pwd]/static_uprobes.stp
expect {
-timeout 180
- -re {In label1 probe} { incr ok; exp_continue }
- -re {In label2 probe 0x2} { incr ok; exp_continue }
- -re {In label3 probe 0x3 0x[0-9a-f][0-9a-f]} { incr ok; exp_continue }
+ -re {In test_probe_1 probe} { incr ok; exp_continue }
+ -re {In test_probe_2 probe 0x2} { incr ok; exp_continue }
+ -re {In test_probe_0 probe 0x3} { incr ok; exp_continue }
+ -re {In test_probe_3 probe 0x3 0x[0-9a-f][0-9a-f]} { incr ok; exp_continue }
+ -re {In test_probe_4 dtrace probe 0x4} { incr ok; exp_continue }
timeout { fail "$test (timeout)" }
eof { }
}
wait
-if {$ok == 6} { pass "$test" } { fail "$test ($ok)" }
+if {$ok == 5} { pass "$test" } { fail "$test ($ok)" }
diff --git a/testsuite/systemtap.base/static_uprobes.stp b/testsuite/systemtap.base/static_uprobes.stp
deleted file mode 100644
index b9de197e..00000000
--- a/testsuite/systemtap.base/static_uprobes.stp
+++ /dev/null
@@ -1,14 +0,0 @@
-probe process("static_uprobes.x").mark("label1")
-{
- printf("In label1 probe\n")
-}
-
-probe process("static_uprobes.x").mark("label2")
-{
- printf("In label2 probe %#x\n", $arg1)
-}
-
-probe process("static_uprobes.x").mark("label3")
-{
- printf("In label3 probe %#x %#x\n", $arg1, $arg2)
-}
diff --git a/testsuite/systemtap.base/uprobes.exp b/testsuite/systemtap.base/uprobes.exp
index 408ba8c4..e8318586 100644
--- a/testsuite/systemtap.base/uprobes.exp
+++ b/testsuite/systemtap.base/uprobes.exp
@@ -18,6 +18,15 @@ if [file exists $path] then { pass "$test prep" } else { fail "$test prep" }
catch {exec gcc -g -o jennie jennie.c} err
if {$err == "" && [file exists jennie]} then { pass "$test compile" } else { fail "$test compile" }
+# Try to find utrace_attach symbol in /proc/kallsyms
+# copy from utrace_p5.exp
+set utrace_support_found 0
+set path "/proc/kallsyms"
+if {! [catch {exec grep -q utrace_attach $path} dummy]} {
+ set utrace_support_found 1
+}
+if {$utrace_support_found == 0} { untested "$test -p4"; untested "$test -p5"; return }
+
set rc [stap_run_batch $srcdir/$subdir/uprobes.stp]
if {$rc == 0} then { pass "$test -p4" } else { fail "$test -p4" }
diff --git a/testsuite/systemtap.context/backtrace.tcl b/testsuite/systemtap.context/backtrace.tcl
index aaec4cb8..ca60c369 100644
--- a/testsuite/systemtap.context/backtrace.tcl
+++ b/testsuite/systemtap.context/backtrace.tcl
@@ -128,7 +128,7 @@ expect {
}
exp_continue
}
- eof {fail "backtrace of yyy_func[2-4]: unexpected EOF" }
+ eof {fail "backtrace of yyy_func*: unexpected EOF" }
}
exec kill -INT -[exp_pid]
if {$m1 == 3} {
diff --git a/testsuite/systemtap.examples/ChangeLog b/testsuite/systemtap.examples/ChangeLog
index 810df78c..253e1a76 100644
--- a/testsuite/systemtap.examples/ChangeLog
+++ b/testsuite/systemtap.examples/ChangeLog
@@ -1,3 +1,14 @@
+2009-01-02 Mark Wielaard <mjw@redhat.com>
+
+ PR9693. Reported by Eugeniy Meshcheryakov <eugen@debian.org>
+ * io/traceio2.stp: Add proper #! /usr/bin/env stap line.
+ * profiling/functioncallcount.stp: Likewise.
+
+2008-12-10 William Cohen <wcohen@redhat.com>
+
+ * process/futexes.stp:
+ * profiling/thread-times.stp: Tweak formatting.
+
2008-12-10 Tim Moore <timoore@redhat.com>
* profiling/latencytap.stp: Probe scheduler to identify processes
diff --git a/testsuite/systemtap.examples/io/traceio2.stp b/testsuite/systemtap.examples/io/traceio2.stp
index 032edcd9..1abea45d 100755
--- a/testsuite/systemtap.examples/io/traceio2.stp
+++ b/testsuite/systemtap.examples/io/traceio2.stp
@@ -1,3 +1,5 @@
+#! /usr/bin/env stap
+
global device_of_interest, dev
probe begin {
diff --git a/testsuite/systemtap.examples/process/futexes.stp b/testsuite/systemtap.examples/process/futexes.stp
index 0bd63262..d10a6a0b 100755
--- a/testsuite/systemtap.examples/process/futexes.stp
+++ b/testsuite/systemtap.examples/process/futexes.stp
@@ -11,7 +11,7 @@ global lock_waits # long-lived stats on (tid,lock) blockage elapsed time
global process_names # long-lived pid-to-execname mapping
probe syscall.futex {
- if (op != FUTEX_WAIT) next # we don't care about originators of WAKE events
+ if (op != FUTEX_WAIT) next # don't care about WAKE event originator
t = tid ()
process_names[pid()] = execname()
thread_thislock[t] = $uaddr
diff --git a/testsuite/systemtap.examples/profiling/functioncallcount.stp b/testsuite/systemtap.examples/profiling/functioncallcount.stp
index e393b612..9e9ec3fd 100755
--- a/testsuite/systemtap.examples/profiling/functioncallcount.stp
+++ b/testsuite/systemtap.examples/profiling/functioncallcount.stp
@@ -1,3 +1,4 @@
+#! /usr/bin/env stap
# The following line command will probe all the functions
# in kernel's memory management code:
#
diff --git a/testsuite/systemtap.examples/profiling/thread-times.stp b/testsuite/systemtap.examples/profiling/thread-times.stp
index 007e23ed..cbe4118e 100755
--- a/testsuite/systemtap.examples/profiling/thread-times.stp
+++ b/testsuite/systemtap.examples/profiling/thread-times.stp
@@ -16,7 +16,8 @@ global tids
probe timer.s(5), end {
allticks = @count(ticks)
- printf ("%5s %7s %7s (of %d ticks)\n", "tid", "%user", "%kernel", allticks)
+ printf ("%5s %7s %7s (of %d ticks)\n",
+ "tid", "%user", "%kernel", allticks)
foreach (tid in tids- limit 20) {
uscaled = @count(uticks[tid])*10000/allticks
kscaled = @count(kticks[tid])*10000/allticks
diff --git a/testsuite/systemtap.syscall/test.tcl b/testsuite/systemtap.syscall/test.tcl
index 66a943d6..db0df138 100755
--- a/testsuite/systemtap.syscall/test.tcl
+++ b/testsuite/systemtap.syscall/test.tcl
@@ -106,7 +106,7 @@ proc run_one_test {filename flags} {
}
}
if {$i < $ind} {
- send_log "--------- EXPECTED and NOT MATCHED ----------\n"
+ send_log -- "--------- EXPECTED and NOT MATCHED ----------\n"
}
for {} {$i < $ind} {incr i} {
send_log "$results($i)\n"