From 791cf64930579adf9ad72d4a3609c64db5c0f84b Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Wed, 6 Aug 2008 15:25:48 -0400 Subject: itrace: move test suite item to appropriate location --- systemtap.base/itrace.exp | 102 ---------------------------------- testsuite/systemtap.base/itrace.exp | 106 ++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 102 deletions(-) delete mode 100644 systemtap.base/itrace.exp create mode 100644 testsuite/systemtap.base/itrace.exp diff --git a/systemtap.base/itrace.exp b/systemtap.base/itrace.exp deleted file mode 100644 index 4b73ac1c..00000000 --- a/systemtap.base/itrace.exp +++ /dev/null @@ -1,102 +0,0 @@ -# itrace test - -# Initialize variables -set utrace_support_found 0 -set exepath "[pwd]/ls_[pid]" - -set itrace1_script { - global instrs = 0 - probe begin { printf("systemtap starting probe\n") } - probe process("%s").itrace - { - instrs += 1 - if (instrs == 5) - exit() - } - - - probe end { printf("systemtap ending probe\n") - printf("itraced = %%d\n", instrs) - } -} -set itrace1_script_output "itraced = 5\r\n" - -set itrace2_script { - global instrs = 0, itrace_on = 0, start_timer = 0 - probe begin { start_timer = 1; printf("systemtap starting probe\n") } - probe process("%s").itrace if (itrace_on) - { - instrs += 1 - if (instrs == 5) - exit() - } - - - probe timer.ms(1) if (start_timer) - { - itrace_on = 1 - } - - probe timer.ms(10) if (start_timer) - { - itrace_on = 0 - } - probe end { printf("systemtap ending probe\n") - printf("itraced = %%d\n", instrs) - } -} -set itrace2_script_output "itraced = 5\r\n" - - -# Set up our own copy of /bin/ls, to make testing for a particular -# executable easy. We can't use 'ln' here, since we might be creating -# a cross-device link. We can't use 'ln -s' here, since the kernel -# resolves the symbolic link and reports that /bin/ls is being -# exec'ed (instead of our local copy). -if {[catch {exec cp /bin/ls $exepath} res]} { - fail "unable to copy /bin/ls: $res" - return -} - -# "load" generation function for stap_run. It spawns our own copy of -# /bin/ls, waits 5 seconds, then kills it. -proc run_ls_5_sec {} { - global exepath - - spawn $exepath - set exe_id $spawn_id - after 5000; - exec kill -INT -[exp_pid -i $exe_id] - return 0; -} - - -# Try to find utrace_attach symbol in /proc/kallsyms -set path "/proc/kallsyms" -if {! [catch {exec grep -q utrace_attach $path} dummy]} { - set utrace_support_found 1 -} - -set TEST_NAME "itrace1" -if {$utrace_support_found == 0} { - untested "$TEST_NAME : no kernel utrace support found" -} elseif {![installtest_p]} { - untested "$TEST_NAME : not installtest_p" -} else { - set script [format $itrace1_script $exepath] - stap_run $TEST_NAME run_ls_5_sec $itrace1_script_output -e $script -} - - -set TEST_NAME "itrace2" -if {$utrace_support_found == 0} { - untested "$TEST_NAME : no kernel utrace support found" -} elseif {![installtest_p]} { - untested "$TEST_NAME : not installtest_p" -} else { - set script [format $itrace2_script $exepath] - stap_run $TEST_NAME run_ls_5_sec $itrace2_script_output -e $script -} - -# Cleanup -exec rm -f $exepath diff --git a/testsuite/systemtap.base/itrace.exp b/testsuite/systemtap.base/itrace.exp new file mode 100644 index 00000000..f19af977 --- /dev/null +++ b/testsuite/systemtap.base/itrace.exp @@ -0,0 +1,106 @@ +# itrace test + +# temporarily disabled +return + + +# Initialize variables +set utrace_support_found 0 +set exepath "[pwd]/ls_[pid]" + +set itrace1_script { + global instrs = 0 + probe begin { printf("systemtap starting probe\n") } + probe process("%s").itrace + { + instrs += 1 + if (instrs == 5) + exit() + } + + + probe end { printf("systemtap ending probe\n") + printf("itraced = %%d\n", instrs) + } +} +set itrace1_script_output "itraced = 5\r\n" + +set itrace2_script { + global instrs = 0, itrace_on = 0, start_timer = 0 + probe begin { start_timer = 1; printf("systemtap starting probe\n") } + probe process("%s").itrace if (itrace_on) + { + instrs += 1 + if (instrs == 5) + exit() + } + + + probe timer.ms(1) if (start_timer) + { + itrace_on = 1 + } + + probe timer.ms(10) if (start_timer) + { + itrace_on = 0 + } + probe end { printf("systemtap ending probe\n") + printf("itraced = %%d\n", instrs) + } +} +set itrace2_script_output "itraced = 5\r\n" + + +# Set up our own copy of /bin/ls, to make testing for a particular +# executable easy. We can't use 'ln' here, since we might be creating +# a cross-device link. We can't use 'ln -s' here, since the kernel +# resolves the symbolic link and reports that /bin/ls is being +# exec'ed (instead of our local copy). +if {[catch {exec cp /bin/ls $exepath} res]} { + fail "unable to copy /bin/ls: $res" + return +} + +# "load" generation function for stap_run. It spawns our own copy of +# /bin/ls, waits 5 seconds, then kills it. +proc run_ls_5_sec {} { + global exepath + + spawn $exepath + set exe_id $spawn_id + after 5000; + exec kill -INT -[exp_pid -i $exe_id] + return 0; +} + + +# Try to find utrace_attach symbol in /proc/kallsyms +set path "/proc/kallsyms" +if {! [catch {exec grep -q utrace_attach $path} dummy]} { + set utrace_support_found 1 +} + +set TEST_NAME "itrace1" +if {$utrace_support_found == 0} { + untested "$TEST_NAME : no kernel utrace support found" +} elseif {![installtest_p]} { + untested $TEST_NAME +} else { + set script [format $itrace1_script $exepath] + stap_run $TEST_NAME run_ls_5_sec $itrace1_script_output -e $script +} + + +set TEST_NAME "itrace2" +if {$utrace_support_found == 0} { + untested "$TEST_NAME : no kernel utrace support found" +} elseif {![installtest_p]} { + untested $TEST_NAME +} else { + set script [format $itrace2_script $exepath] + stap_run $TEST_NAME run_ls_5_sec $itrace2_script_output -e $script +} + +# Cleanup +exec rm -f $exepath -- cgit