summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base/marker.exp
diff options
context:
space:
mode:
authordsmith <dsmith>2007-09-25 15:36:32 +0000
committerdsmith <dsmith>2007-09-25 15:36:32 +0000
commit37d1f6d2b41a92588642aecb207b21a6939cb1b9 (patch)
tree740578c6d419706a3bd49f70e6b1b31c9a488de6 /testsuite/systemtap.base/marker.exp
parent38c963a9ae79b65466a3ba74dcd04a15c0c13d54 (diff)
downloadsystemtap-steved-37d1f6d2b41a92588642aecb207b21a6939cb1b9.tar.gz
systemtap-steved-37d1f6d2b41a92588642aecb207b21a6939cb1b9.tar.xz
systemtap-steved-37d1f6d2b41a92588642aecb207b21a6939cb1b9.zip
2007-09-25 David Smith <dsmith@redhat.com>
* systemtap.base/marker.exp: Updated for the 9/18/2007 markers patch.
Diffstat (limited to 'testsuite/systemtap.base/marker.exp')
-rw-r--r--testsuite/systemtap.base/marker.exp44
1 files changed, 37 insertions, 7 deletions
diff --git a/testsuite/systemtap.base/marker.exp b/testsuite/systemtap.base/marker.exp
index 6cdac9e0..b9085e32 100644
--- a/testsuite/systemtap.base/marker.exp
+++ b/testsuite/systemtap.base/marker.exp
@@ -94,9 +94,9 @@ set km_script {"probe kernel.mark(\"%s\"), module(\"%s\").mark(\"%s\") { }"}
# Try to figure out if kernel markers are present in the kernel itself
# or in any loaded module
-set fl [open "| egrep __mark_data_.+\.\[0-9\]+ /proc/kallsyms"]
+set fl [open "| egrep __mark_.+\.\[0-9\]+ /proc/kallsyms"]
while {[gets $fl s] >= 0} {
- if [regexp {__mark_data_([^.]+).[0-9]+(\t+\[(.+)\])?} $s match name subexp module] {
+ if [regexp {__mark_([^.]+).[0-9]+(\t+\[(.+)\])?} $s match name subexp module] {
if {$module == ""} {
set kernel_markers_found 1
lappend kernel_marker_names $name
@@ -206,8 +206,23 @@ if {$kernel_markers_found == 0} {
} else {
# Try compiling a script that looks for the first kernel marker in
# a module (which should fail).
- set script [format $module_script "*" [lindex $kernel_marker_names 0]]
- stap_compile $TEST_NAME 0 $script
+
+ # Find a kernel marker name that doesn't exist as a module marker
+ # name.
+ set found 0
+ foreach mark_name $kernel_marker_names {
+ if {[lsearch -exact $module_marker_names $mark_name] == -1} {
+ set found 1
+ break
+ }
+ }
+
+ if {$found} {
+ set script [format $module_script "*" $mark_name]
+ stap_compile $TEST_NAME 0 $script
+ } else {
+ untested "$TEST_NAME : no unique kernel markers present"
+ }
}
#
@@ -347,10 +362,25 @@ set TEST_NAME "M_MARKER12"
if {$module_markers_found == 0} {
untested "$TEST_NAME : no module markers present"
} else {
- # Try compiling a script that looks for the first module marker as
+ # Try compiling a script that looks for the a module marker as
# a kernel marker (which should fail).
- set script [format $kernel_script [lindex $module_marker_names 0]]
- stap_compile $TEST_NAME 0 $script
+
+ # Find a module marker name that doesn't also exist as a kernel
+ # marker name.
+ set found 0
+ foreach mark_name $module_marker_names {
+ if {[lsearch -exact $kernel_marker_names $mark_name] == -1} {
+ set found 1
+ break
+ }
+ }
+
+ if {$found} {
+ set script [format $kernel_script $mark_name]
+ stap_compile $TEST_NAME 0 $script
+ } else {
+ untested "$TEST_NAME : no unique module markers present"
+ }
}
#