From f902d9596b3f7ee135d180ec0bae01c05d9a97bd Mon Sep 17 00:00:00 2001 From: fche Date: Tue, 6 Feb 2007 20:23:25 +0000 Subject: * kernel_{string,long,...,char} protected accessor functions * test suites for all of 'em too * even documentation * mm, donuts 2007-02-06 Frank Ch. Eigler * stapfuncs.5.in: Add docs for kernel_{long,int,short,char} and some user_string* variants. 2007-02-06 Frank Ch. Eigler * conversions.stp (kernel_long/int/short/char): New functions. 2007-02-06 Frank Ch. Eigler * buildok/conversions.stp: Build-test all conversions.stp functions. * systemtap.stress/conversions.*: New test. --- testsuite/ChangeLog | 5 +++++ testsuite/buildok/conversions.stp | 13 +++++++++++++ testsuite/systemtap.stress/conversions.exp | 19 +++++++++++++++++++ testsuite/systemtap.stress/conversions.stp | 15 +++++++++++++++ 4 files changed, 52 insertions(+) create mode 100755 testsuite/buildok/conversions.stp create mode 100644 testsuite/systemtap.stress/conversions.exp create mode 100644 testsuite/systemtap.stress/conversions.stp (limited to 'testsuite') diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index 2c72f3e5..fcae70c3 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-02-06 Frank Ch. Eigler + + * buildok/conversions.stp: Build-test all conversions.stp functions. + * systemtap.stress/conversions.*: New test. + 2007-01-29 Frank Ch. Eigler * systemtap.base/cache.exp (stap_compile): Accept new -p4 output. diff --git a/testsuite/buildok/conversions.stp b/testsuite/buildok/conversions.stp new file mode 100755 index 00000000..5a4d46f0 --- /dev/null +++ b/testsuite/buildok/conversions.stp @@ -0,0 +1,13 @@ +# Test the conversions tapset. + +probe begin { + print (kernel_string(2342)) + print (kernel_long(2342)) + print (kernel_int(2342)) + print (kernel_short(2342)) + print (kernel_char(2342)) + + print (user_string(2342)) + print (user_string2(2342,"foobar")) + print (user_string_warn(2342)) +} \ No newline at end of file diff --git a/testsuite/systemtap.stress/conversions.exp b/testsuite/systemtap.stress/conversions.exp new file mode 100644 index 00000000..a7fd5e88 --- /dev/null +++ b/testsuite/systemtap.stress/conversions.exp @@ -0,0 +1,19 @@ + +set file $srcdir/$subdir/conversions.stp +foreach value {0 0xffffffff 0xffffffffffffffff} { + set test "conversions.stp $value" + if {![installtest_p]} { untested $test; continue } + spawn stap -DMAXERRORS=40 $file $value + set errs 0 + verbose -log "exp $test $errs" + expect { + -re {ERROR[^\r\n]*\r\n} { incr errs; exp_continue } + -re {WARNING[^\r\n]*\r\n} { incr errs; exp_continue } + eof { } + timeout { } + } + verbose -log "done exp $test $errs" + wait + if {$errs == 8} { pass $test } else { fail "$test ($errs)" } + verbose -log "done $test $errs" +} diff --git a/testsuite/systemtap.stress/conversions.stp b/testsuite/systemtap.stress/conversions.stp new file mode 100644 index 00000000..797626ab --- /dev/null +++ b/testsuite/systemtap.stress/conversions.stp @@ -0,0 +1,15 @@ +#! stap +# Usage: set $1 to supply test address; -DMAXERRORS= + +probe begin(-1) { print ("\n") } +probe begin { print (kernel_string ($1)) } +probe begin { print (kernel_long ($1)) } +probe begin { print (kernel_int ($1)) } +probe begin { print (kernel_short ($1)) } +probe begin { print (kernel_char ($1)) } +probe begin { print (kernel_int ($1)) } +probe begin { print (user_string ($1)) } +probe begin { print (user_string2 ($1,"")) } +probe begin { print (user_string_warn ($1)) } +probe begin { print (user_string_quoted ($1)) } +probe begin(1) { print ("\n") exit () } -- cgit