diff options
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/ChangeLog | 21 | ||||
-rwxr-xr-x | testsuite/buildok/per-process-syscall.stp | 18 | ||||
-rwxr-xr-x | testsuite/semko/utrace15.stp | 4 | ||||
-rwxr-xr-x | testsuite/semko/utrace16.stp | 4 | ||||
-rwxr-xr-x | testsuite/semko/utrace17.stp | 4 | ||||
-rwxr-xr-x | testsuite/semko/utrace18.stp | 4 | ||||
-rwxr-xr-x | testsuite/semko/utrace19.stp | 4 | ||||
-rwxr-xr-x | testsuite/semko/utrace20.stp | 4 | ||||
-rwxr-xr-x | testsuite/semko/utrace21.stp | 4 | ||||
-rwxr-xr-x | testsuite/semko/utrace22.stp | 4 | ||||
-rw-r--r-- | testsuite/systemtap.base/marker.exp | 45 | ||||
-rw-r--r-- | testsuite/systemtap.base/uprobes.exp | 8 | ||||
-rwxr-xr-x | testsuite/systemtap.base/uprobes.stp | 4 |
13 files changed, 124 insertions, 4 deletions
diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index 045772a3..3effc92f 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,24 @@ +2008-09-09 Frank Ch. Eigler <fche@elastic.org> + + * systemtap.base/uprobes.*: Tweak regexps for read-only src tree + tolerance. + +2008-09-09 Masami Hiramatsu <mhiramat@redhat.com> + + * buildok/per-process-syscall.stp: New test, for process.syscall test. + * semko/utrace15.stp: Ditto. + * semko/utrace16.stp: Ditto. + * semko/utrace17.stp: Ditto. + * semko/utrace18.stp: Ditto. + * semko/utrace19.stp: Ditto. + * semko/utrace20.stp: Ditto. + * semko/utrace21.stp: Ditto. + * semko/utrace22.stp: Ditto. + +2008-09-09 Masami Hiramatsu <mhiramat@redhat.com> + + * systemtap.base/marker.exp : Added testcases of $name. + 2008-09-06 Frank Ch. Eigler <fche@elastic.org> * systemtap.base/cmd_parse.exp: Adapt to sh-c-less "stap -c" diff --git a/testsuite/buildok/per-process-syscall.stp b/testsuite/buildok/per-process-syscall.stp new file mode 100755 index 00000000..c2c41c0b --- /dev/null +++ b/testsuite/buildok/per-process-syscall.stp @@ -0,0 +1,18 @@ +#! stap -p4 +# +# per-process syscall trace test + +probe process.syscall { +print($syscall) +print($arg1) +print($arg2) +print($arg3) +print($arg4) +print($arg5) +print($arg6) +} + +probe process.syscall.return { +print($syscall) +print($return) +} diff --git a/testsuite/semko/utrace15.stp b/testsuite/semko/utrace15.stp new file mode 100755 index 00000000..56d91e89 --- /dev/null +++ b/testsuite/semko/utrace15.stp @@ -0,0 +1,4 @@ +#! stap -p2 + +# write to $argN +probe process("/bin/cat").syscall { $arg1 = 1 } diff --git a/testsuite/semko/utrace16.stp b/testsuite/semko/utrace16.stp new file mode 100755 index 00000000..f88923d6 --- /dev/null +++ b/testsuite/semko/utrace16.stp @@ -0,0 +1,4 @@ +#! stap -p2 + +# treat $argN as a pointer +probe process("/bin/cat").syscall { print($arg1->foo) } diff --git a/testsuite/semko/utrace17.stp b/testsuite/semko/utrace17.stp new file mode 100755 index 00000000..3a296dff --- /dev/null +++ b/testsuite/semko/utrace17.stp @@ -0,0 +1,4 @@ +#! stap -p2 + +# treat $argN as an array +probe process("/bin/cat").syscall { print($arg1[0]) } diff --git a/testsuite/semko/utrace18.stp b/testsuite/semko/utrace18.stp new file mode 100755 index 00000000..5d4960db --- /dev/null +++ b/testsuite/semko/utrace18.stp @@ -0,0 +1,4 @@ +#! stap -p2 + +# write to $return +probe process("/bin/cat").syscall.return { $return = 1 } diff --git a/testsuite/semko/utrace19.stp b/testsuite/semko/utrace19.stp new file mode 100755 index 00000000..3d30dc5e --- /dev/null +++ b/testsuite/semko/utrace19.stp @@ -0,0 +1,4 @@ +#! stap -p2 + +# access to $return from syscall entry +probe process("/bin/cat").syscall { print($return) } diff --git a/testsuite/semko/utrace20.stp b/testsuite/semko/utrace20.stp new file mode 100755 index 00000000..15fdc4c5 --- /dev/null +++ b/testsuite/semko/utrace20.stp @@ -0,0 +1,4 @@ +#! stap -p2 + +# treat $return as an array +probe process("/bin/cat").syscall { print($return[0]) } diff --git a/testsuite/semko/utrace21.stp b/testsuite/semko/utrace21.stp new file mode 100755 index 00000000..aa29ec59 --- /dev/null +++ b/testsuite/semko/utrace21.stp @@ -0,0 +1,4 @@ +#! stap -p2 + +# treat $return as a pointer/structure +probe process("/bin/cat").syscall.return { print($return->foo) } diff --git a/testsuite/semko/utrace22.stp b/testsuite/semko/utrace22.stp new file mode 100755 index 00000000..710810f6 --- /dev/null +++ b/testsuite/semko/utrace22.stp @@ -0,0 +1,4 @@ +#! stap -p2 + +# access to $argN from syscall return +probe process("/bin/cat").syscall.return { print($arg1) } diff --git a/testsuite/systemtap.base/marker.exp b/testsuite/systemtap.base/marker.exp index 89c0b8c3..0cacf60d 100644 --- a/testsuite/systemtap.base/marker.exp +++ b/testsuite/systemtap.base/marker.exp @@ -230,3 +230,48 @@ if {$kernel_markers_found == 0} { [lindex $kernel_marker_names 0] "foo"] stap_compile $TEST_NAME 0 $script } + +set TEST_NAME "K_MARKER18" +if {$kernel_markers_found == 0} { + untested "$TEST_NAME : no kernel markers present" +} else { + # Try compiling a script that prints the name string of a + # marker. + set script [format $kernel_script_arg \ + [lindex $kernel_marker_names 0] {\$name}] + stap_compile $TEST_NAME 1 $script +} + +set TEST_NAME "K_MARKER19" +if {$kernel_markers_found == 0} { + untested "$TEST_NAME : no kernel markers present" +} else { + # Try compiling a script that writes to a marker name string + # (which isn't allowed). + set script [format $kernel_script_arg2 \ + [lindex $kernel_marker_names 0] {\$name}] + stap_compile $TEST_NAME 0 $script +} + +set TEST_NAME "K_MARKER20" +if {$kernel_markers_found == 0} { + untested "$TEST_NAME : no kernel markers present" +} else { + # Try compiling a script that treats the marker name string as a + # structure (which isn't allowed). + set script [format $kernel_script_arg \ + [lindex $kernel_marker_names 0] {\$name->foo}] + stap_compile $TEST_NAME 0 $script +} + +set TEST_NAME "K_MARKER21" +if {$kernel_markers_found == 0} { + untested "$TEST_NAME : no kernel markers present" +} else { + # Try compiling a script that treats the marker name string like + # an array (which isn't allowed). + set script [format $kernel_script_arg \ + [lindex $kernel_marker_names 0] {\$name\[0\]}] + stap_compile $TEST_NAME 0 $script +} + diff --git a/testsuite/systemtap.base/uprobes.exp b/testsuite/systemtap.base/uprobes.exp index a0ae3e76..8fbe6da6 100644 --- a/testsuite/systemtap.base/uprobes.exp +++ b/testsuite/systemtap.base/uprobes.exp @@ -26,8 +26,12 @@ spawn sudo stap -v $srcdir/$subdir/uprobes.stp -c "./jennie 1 2 3 4" set ok 0 expect { -re {^Pass[^\r\n]*\r\n} { exp_continue } - -re {^process[^\r\n]*jennie[^\r\n]*main[^\r\n]*call[^\r\n]*\r\n} { incr ok; exp_continue } - -re {^process[^\r\n]*jennie[^\r\n]*main[^\r\n]*return[^\r\n]*\r\n} { incr ok; exp_continue } + -re {^Warning[^\r\n]*\r\n} { exp_continue } + -re {^Disabling[^\r\n]*\r\n} { exp_continue } + -re {^Uprobes[^\r\n]*\r\n} { exp_continue } + -re {^Cache[^\r\n]*\r\n} { exp_continue } + -re {^process[^\r\n]*jennie[^\r\n]*main[^\r\n]*call\r\n} { incr ok; exp_continue } + -re {^process[^\r\n]*jennie[^\r\n]*main[^\r\n]*return\r\n} { incr ok; exp_continue } -timeout 30 timeout { } eof { } diff --git a/testsuite/systemtap.base/uprobes.stp b/testsuite/systemtap.base/uprobes.stp index d7efb586..8e7dbe9d 100755 --- a/testsuite/systemtap.base/uprobes.stp +++ b/testsuite/systemtap.base/uprobes.stp @@ -1,3 +1,3 @@ #! stap -p4 -probe process("./jennie").function("main").call { log(pp()." "/*.$$parms*/) } -probe process("./jennie").function("main").return { log(pp()." "/*.$$return*/) } +probe process("./jennie").function("main").call { log(pp()/*." ".$$parms*/) } +probe process("./jennie").function("main").return { log(pp()/*." ".$$return*/) } |