diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2007-11-04 14:11:15 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2007-11-04 14:11:15 -0500 |
commit | 806b26a85d30f59af7dcb0025c68a50bf4bbb352 (patch) | |
tree | 8b1cc9edab49eda46278199a7027d956549f6ddb /testsuite | |
parent | 24993e4fcae48ca014e6b53f3f9a011c9cfa8f06 (diff) | |
parent | 600e72b28cc0676dc581b8fc5d54c09772979b79 (diff) | |
download | systemtap-steved-806b26a85d30f59af7dcb0025c68a50bf4bbb352.tar.gz systemtap-steved-806b26a85d30f59af7dcb0025c68a50bf4bbb352.tar.xz systemtap-steved-806b26a85d30f59af7dcb0025c68a50bf4bbb352.zip |
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/ChangeLog | 24 | ||||
-rw-r--r-- | testsuite/config/unix.exp | 1 | ||||
-rw-r--r-- | testsuite/lib/stap_run_exact.exp | 30 | ||||
-rwxr-xr-x | testsuite/systemtap.maps/elision.exp | 397 | ||||
-rw-r--r-- | testsuite/systemtap.maps/elision.stp | 54 | ||||
-rw-r--r-- | testsuite/systemtap.printf/print.exp | 18 | ||||
-rw-r--r-- | testsuite/systemtap.printf/print.stp | 47 | ||||
-rw-r--r-- | testsuite/systemtap.printf/print_char.exp | 5 | ||||
-rw-r--r-- | testsuite/systemtap.printf/print_char.stp | 16 | ||||
-rw-r--r-- | testsuite/systemtap.printf/printd.exp | 20 | ||||
-rw-r--r-- | testsuite/systemtap.printf/printd.stp | 36 | ||||
-rw-r--r-- | testsuite/systemtap.printf/printdln.stp | 27 | ||||
-rw-r--r-- | testsuite/systemtap.printf/println.exp | 18 | ||||
-rw-r--r-- | testsuite/systemtap.printf/println.stp | 37 |
14 files changed, 730 insertions, 0 deletions
diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index 9f54311e..3d71c5a4 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,27 @@ +2007-10-25 Martin Hunt <hunt@redhat.com> + + * systemtap.printf/printd.exp: New. + Runs printd.stp and printdln.stp. + * systemtap.printf/printdln.stp: Removed bad tests. + * systemtap.printf/printd.stp: Ditto. + +2007-10-25 Martin Hunt <hunt@redhat.com> + + * systemtap.printf/print_char.*: New test. + * systemtap.printf/print.*: New test. + * systemtap.printf/println.*: New test. + + * systemtap.maps/elision.*: New tests. + + * config/unix.exp: Added stap_run_exact. + * lib/stap_run_exact.exp: New. Like stap_run2 but + takes a seperate test name. + +2007-10-25 Martin Hunt <hunt@redhat.com> + + * systemtap.printf/printd.stp: New + * systemtap.printf/printdln.stp: New + 2007-10-16 Martin Hunt <hunt@redhat.com> PR 5000 diff --git a/testsuite/config/unix.exp b/testsuite/config/unix.exp index b3be70f5..625c5604 100644 --- a/testsuite/config/unix.exp +++ b/testsuite/config/unix.exp @@ -1,4 +1,5 @@ load_lib "systemtap.exp" load_lib "stap_run2.exp" +load_lib "stap_run_exact.exp" load_lib "stap_run_binary.exp" load_lib "stap_run.exp" diff --git a/testsuite/lib/stap_run_exact.exp b/testsuite/lib/stap_run_exact.exp new file mode 100644 index 00000000..6a473798 --- /dev/null +++ b/testsuite/lib/stap_run_exact.exp @@ -0,0 +1,30 @@ +# stap_run_exact.exp +# +# Simple script for testing multiple lines of exact output. + +# stap_run_exact TEST_NAME filename args +# TEST_NAME is the name printed +# filename is path to the current test +# Additional arguments are passed to stap as-is. +# +# global result_string must be set to the expected output + +proc stap_run_exact { TEST_NAME test_file_name args } { + if {[info procs installtest_p] != "" && ![installtest_p]} { untested $TEST_NAME; return } + + set cmd [concat stap $args $test_file_name] + catch {eval exec $cmd} res + + set n 0 + set expected [split $::result_string "\n"] + foreach line [split $res "\n"] { + if {![string equal $line [lindex $expected $n]]} { + fail "$TEST_NAME" + send_log "line [expr $n + 1]: expected \"[lindex $expected $n]\"\n" + send_log "Got \"$line\"\n" + return + } + incr n + } + pass "$TEST_NAME" +} diff --git a/testsuite/systemtap.maps/elision.exp b/testsuite/systemtap.maps/elision.exp new file mode 100755 index 00000000..60c52bbe --- /dev/null +++ b/testsuite/systemtap.maps/elision.exp @@ -0,0 +1,397 @@ +# test elision of zero buckets in histograms + +set myresults(-1) {value |-------------------------------------------------- count + 300 | 0 + 350 | 0 + 400 |@ 1 + 450 | 0 + 500 | 0 + 550 | 0 + 600 | 0 + 650 | 0 + 700 | 0 + 750 | 0 + 800 | 0 + 850 | 0 + 900 | 0 + 950 |@ 1 + 1000 | 0 + 1050 | 0 + +value |-------------------------------------------------- count + 300 | 0 + 350 | 0 + 400 |@ 1 + 450 | 0 + 500 |@ 1 + 550 | 0 + 600 | 0 + +value |-------------------------------------------------- count + 0 |@ 1 + 50 | 0 + 100 | 0 + +value |-------------------------------------------------- count + 0 | 0 + 50 |@ 1 + 100 | 0 + 150 | 0 + +value |-------------------------------------------------- count + 1350 | 0 + 1400 | 0 + 1450 |@ 1 + 1500 | 0 + +value |-------------------------------------------------- count + 1400 | 0 + 1450 | 0 + 1500 |@ 1 + +value |-------------------------------------------------- count + -30 | 0 + -20 | 0 + -10 |@ 1 + 0 | 0 + 10 | 0 + +value |-------------------------------------------------- count + -20 | 0 + -10 | 0 + 0 |@ 1 + 10 | 0 + 20 | 0 + +value |-------------------------------------------------- count + 32 | 0 + 64 | 0 + 128 |@ 1 + 256 | 0 + 512 | 0 + +value |-------------------------------------------------- count + 0 |@ 1 + 1 | 0 + 2 | 0 + + value |-------------------------------------------------- count +-16384 | 0 + -8192 | 0 + -4096 |@ 1 + -2048 | 0 + -1024 | 0 + -512 | 0 + -256 | 0 + -128 | 0 + -64 | 0 + -32 | 0 + -16 | 0 + -8 | 0 + -4 | 0 + -2 |@ 1 + -1 | 0 + 0 | 0 + +} +set myresults(0) {value |-------------------------------------------------- count + ~ + 400 |@ 1 + ~ + 950 |@ 1 + +value |-------------------------------------------------- count + ~ + 400 |@ 1 + ~ + 500 |@ 1 + +value |-------------------------------------------------- count + 0 |@ 1 + +value |-------------------------------------------------- count + ~ + 50 |@ 1 + +value |-------------------------------------------------- count + ~ + 1450 |@ 1 + +value |-------------------------------------------------- count + ~ + 1500 |@ 1 + +value |-------------------------------------------------- count + ~ + -10 |@ 1 + +value |-------------------------------------------------- count + ~ + 0 |@ 1 + +value |-------------------------------------------------- count + ~ + 128 |@ 1 + +value |-------------------------------------------------- count + 0 |@ 1 + + value |-------------------------------------------------- count + ~ + -4096 |@ 1 + ~ + -2 |@ 1 + +} +set myresults(1) {value |-------------------------------------------------- count + ~ + 350 | 0 + 400 |@ 1 + 450 | 0 + ~ + 900 | 0 + 950 |@ 1 + 1000 | 0 + +value |-------------------------------------------------- count + ~ + 350 | 0 + 400 |@ 1 + 450 | 0 + 500 |@ 1 + 550 | 0 + +value |-------------------------------------------------- count + 0 |@ 1 + 50 | 0 + +value |-------------------------------------------------- count + 0 | 0 + 50 |@ 1 + 100 | 0 + +value |-------------------------------------------------- count + ~ + 1400 | 0 + 1450 |@ 1 + 1500 | 0 + +value |-------------------------------------------------- count + ~ + 1450 | 0 + 1500 |@ 1 + +value |-------------------------------------------------- count + ~ + -20 | 0 + -10 |@ 1 + 0 | 0 + +value |-------------------------------------------------- count + ~ + -10 | 0 + 0 |@ 1 + 10 | 0 + +value |-------------------------------------------------- count + ~ + 64 | 0 + 128 |@ 1 + 256 | 0 + +value |-------------------------------------------------- count + 0 |@ 1 + 1 | 0 + + value |-------------------------------------------------- count + ~ + -8192 | 0 + -4096 |@ 1 + -2048 | 0 + ~ + -4 | 0 + -2 |@ 1 + -1 | 0 + +} +set myresults(2) {value |-------------------------------------------------- count + 300 | 0 + 350 | 0 + 400 |@ 1 + 450 | 0 + 500 | 0 + ~ + 850 | 0 + 900 | 0 + 950 |@ 1 + 1000 | 0 + 1050 | 0 + +value |-------------------------------------------------- count + 300 | 0 + 350 | 0 + 400 |@ 1 + 450 | 0 + 500 |@ 1 + 550 | 0 + 600 | 0 + +value |-------------------------------------------------- count + 0 |@ 1 + 50 | 0 + 100 | 0 + +value |-------------------------------------------------- count + 0 | 0 + 50 |@ 1 + 100 | 0 + 150 | 0 + +value |-------------------------------------------------- count + 1350 | 0 + 1400 | 0 + 1450 |@ 1 + 1500 | 0 + +value |-------------------------------------------------- count + 1400 | 0 + 1450 | 0 + 1500 |@ 1 + +value |-------------------------------------------------- count + -30 | 0 + -20 | 0 + -10 |@ 1 + 0 | 0 + 10 | 0 + +value |-------------------------------------------------- count + -20 | 0 + -10 | 0 + 0 |@ 1 + 10 | 0 + 20 | 0 + +value |-------------------------------------------------- count + 32 | 0 + 64 | 0 + 128 |@ 1 + 256 | 0 + 512 | 0 + +value |-------------------------------------------------- count + 0 |@ 1 + 1 | 0 + 2 | 0 + + value |-------------------------------------------------- count +-16384 | 0 + -8192 | 0 + -4096 |@ 1 + -2048 | 0 + -1024 | 0 + ~ + -8 | 0 + -4 | 0 + -2 |@ 1 + -1 | 0 + 0 | 0 + +} +set myresults(3) {value |-------------------------------------------------- count + 300 | 0 + 350 | 0 + 400 |@ 1 + 450 | 0 + 500 | 0 + 550 | 0 + ~ + 800 | 0 + 850 | 0 + 900 | 0 + 950 |@ 1 + 1000 | 0 + 1050 | 0 + +value |-------------------------------------------------- count + 300 | 0 + 350 | 0 + 400 |@ 1 + 450 | 0 + 500 |@ 1 + 550 | 0 + 600 | 0 + +value |-------------------------------------------------- count + 0 |@ 1 + 50 | 0 + 100 | 0 + +value |-------------------------------------------------- count + 0 | 0 + 50 |@ 1 + 100 | 0 + 150 | 0 + +value |-------------------------------------------------- count + 1350 | 0 + 1400 | 0 + 1450 |@ 1 + 1500 | 0 + +value |-------------------------------------------------- count + 1400 | 0 + 1450 | 0 + 1500 |@ 1 + +value |-------------------------------------------------- count + -30 | 0 + -20 | 0 + -10 |@ 1 + 0 | 0 + 10 | 0 + +value |-------------------------------------------------- count + -20 | 0 + -10 | 0 + 0 |@ 1 + 10 | 0 + 20 | 0 + +value |-------------------------------------------------- count + 32 | 0 + 64 | 0 + 128 |@ 1 + 256 | 0 + 512 | 0 + +value |-------------------------------------------------- count + 0 |@ 1 + 1 | 0 + 2 | 0 + + value |-------------------------------------------------- count +-16384 | 0 + -8192 | 0 + -4096 |@ 1 + -2048 | 0 + -1024 | 0 + -512 | 0 + ~ + -16 | 0 + -8 | 0 + -4 | 0 + -2 |@ 1 + -1 | 0 + 0 | 0 + +} + + +for {set i -1} { $i < 4} {incr i} { + set test "elision-$i" + set ::result_string $myresults($i) + stap_run_exact "elision$i" $srcdir/$subdir/elision.stp -DHIST_ELISION=$i +} + + diff --git a/testsuite/systemtap.maps/elision.stp b/testsuite/systemtap.maps/elision.stp new file mode 100644 index 00000000..e903f569 --- /dev/null +++ b/testsuite/systemtap.maps/elision.stp @@ -0,0 +1,54 @@ +# test that we can check the count of an empty array + +global a,b,c + +probe begin +{ + a <<< 444 + a <<< 999 + print(@hist_linear(a, 0, 1500, 50)) + delete a + + a <<< 444 + a <<< 500 + print(@hist_linear(a, 0, 1500, 50)) + delete a + + a <<< 0 + print(@hist_linear(a, 0, 1500, 50)) + delete a + + a <<< 50 + print(@hist_linear(a, 0, 1500, 50)) + delete a + + a <<< 1450 + print(@hist_linear(a, 0, 1500, 50)) + delete a + + a <<< 1500 + print(@hist_linear(a, 0, 1500, 50)) + delete a + + b <<< -10 + print(@hist_linear(b, -100, 100, 10)) + delete b + + b <<< 0 + print(@hist_linear(b, -100, 100, 10)) + delete b + + c <<< 128 + print(@hist_log(c)) + delete c + + c <<< 0 + print(@hist_log(c)) + delete c + + c <<< -2 + c <<< -4096 + print(@hist_log(c)) + + exit() +} diff --git a/testsuite/systemtap.printf/print.exp b/testsuite/systemtap.printf/print.exp new file mode 100644 index 00000000..3a4de529 --- /dev/null +++ b/testsuite/systemtap.printf/print.exp @@ -0,0 +1,18 @@ +set test "print" +set ::result_string {hello world +777 +hello world +hello world +foo +foobar +foobar +foobar +foo99 +99foo +777 +888 +123456789 +hello999 +999hello +} +stap_run2 $srcdir/$subdir/$test.stp diff --git a/testsuite/systemtap.printf/print.stp b/testsuite/systemtap.printf/print.stp new file mode 100644 index 00000000..ae770935 --- /dev/null +++ b/testsuite/systemtap.printf/print.stp @@ -0,0 +1,47 @@ +# test the print function with string and integers, +# variables and constants. + +probe begin { + a = "hello" + b = " " + c = "world" + d = 777 + + # print variables + print(a) + print(b) + print(c) + print("\n") + + print(d) + print("\n") + + print(a,b,c,"\n") + print(a.b.c."\n") + + # print literals + print("foo") + print("\n") + + print("foo") + print("bar") + print("\n") + + print("foo","bar","\n") + print("foo"."bar"."\n") + + print("foo",99,"\n") + print(99, "foo","\n") + + print(777) + print("\n") + print(888,"\n") + + print(123,456,789,"\n") + + # mixed + print(a,999,"\n") + print(999,a,"\n") + + exit() +} diff --git a/testsuite/systemtap.printf/print_char.exp b/testsuite/systemtap.printf/print_char.exp new file mode 100644 index 00000000..bab056dd --- /dev/null +++ b/testsuite/systemtap.printf/print_char.exp @@ -0,0 +1,5 @@ +set test "print_char" +set ::result_string {ABC +ABCDEFGHIJKLMNOPQRSTUVWXYZ +} +stap_run2 $srcdir/$subdir/$test.stp diff --git a/testsuite/systemtap.printf/print_char.stp b/testsuite/systemtap.printf/print_char.stp new file mode 100644 index 00000000..0900fe1d --- /dev/null +++ b/testsuite/systemtap.printf/print_char.stp @@ -0,0 +1,16 @@ +# test the print_char function + +probe begin { + endl = 10 + print_char(65) + print_char(66) + print_char(67) + print_char(endl) + + for (i = 65; i < 91; i++) + print_char(i) + print_char(endl) + + + exit() +} diff --git a/testsuite/systemtap.printf/printd.exp b/testsuite/systemtap.printf/printd.exp new file mode 100644 index 00000000..5ba90341 --- /dev/null +++ b/testsuite/systemtap.printf/printd.exp @@ -0,0 +1,20 @@ +# printd and printdln tests + +# both tests have the same result + +set ::result_string {hello world +hello<-->world<-->777 +foo *** bar +foo *** bar *** baz +foo,99 +99,foo +123 456 789 +hello-999 +999-hello +} + +foreach x {"d" "dln"} { + set test "print$x" + stap_run_exact $test $srcdir/$subdir/$test.stp +} + diff --git a/testsuite/systemtap.printf/printd.stp b/testsuite/systemtap.printf/printd.stp new file mode 100644 index 00000000..8dcff3f5 --- /dev/null +++ b/testsuite/systemtap.printf/printd.stp @@ -0,0 +1,36 @@ +# test the printd function with string and integers, +# variables and constants. + +probe begin { + a = "hello" + c = "world" + d = 777 + + # print variables + printd(" ",a,c) + println("") + printd("<-->",a,c,d) + println("") + + # print literals + printd(" *** ","foo","bar") + println("") + printd(" *** ","foo","bar","baz") + println("") + + printd(",","foo",99) + println("") + printd(",",99, "foo") + println("") + + printd(" ",123,456,789) + println("") + + # mixed + printd("-",a,999) + println("") + printd("-",999,a) + println("") + + exit() +} diff --git a/testsuite/systemtap.printf/printdln.stp b/testsuite/systemtap.printf/printdln.stp new file mode 100644 index 00000000..ed78eac5 --- /dev/null +++ b/testsuite/systemtap.printf/printdln.stp @@ -0,0 +1,27 @@ +# test the printdln function with string and integers, +# variables and constants. + +probe begin { + a = "hello" + c = "world" + d = 777 + + # print variables + printdln(" ",a,c) + printdln("<-->",a,c,d) + + # print literals + printdln(" *** ","foo","bar") + printdln(" *** ","foo","bar","baz") + + printdln(",","foo",99) + printdln(",",99, "foo") + + printdln(" ",123,456,789) + + # mixed + printdln("-",a,999) + printdln("-",999,a) + + exit() +} diff --git a/testsuite/systemtap.printf/println.exp b/testsuite/systemtap.printf/println.exp new file mode 100644 index 00000000..8deba53f --- /dev/null +++ b/testsuite/systemtap.printf/println.exp @@ -0,0 +1,18 @@ +set test "println" +set ::result_string {hello + +world +777 +hello world +hello world +foo +foobar +foobar +777 +foo99 +99foo +123456789 +hello999 +999hello +} +stap_run2 $srcdir/$subdir/$test.stp diff --git a/testsuite/systemtap.printf/println.stp b/testsuite/systemtap.printf/println.stp new file mode 100644 index 00000000..0b02f0ac --- /dev/null +++ b/testsuite/systemtap.printf/println.stp @@ -0,0 +1,37 @@ +# test the println function with string and integers, +# variables and constants. + +probe begin { + a = "hello" + b = " " + c = "world" + d = 777 + + # println variables + println(a) + println(b) + println(c) + + println(d) + + println(a,b,c) + println(a.b.c) + + # println literals + println("foo") + + println("foo","bar") + println("foo"."bar") + + println(777) + println("foo",99) + println(99, "foo") + + println(123,456,789) + + # mixed + println(a,999) + println(999,a) + + exit() +} |