summaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
authorfche <fche>2007-02-06 20:23:25 +0000
committerfche <fche>2007-02-06 20:23:25 +0000
commitf902d9596b3f7ee135d180ec0bae01c05d9a97bd (patch)
tree360649626b889dbeb0d1ed861e2b6631fe9ba1ab /testsuite
parent34f6a71cdaa6cf4835819ca5b92a152e2cd5bde0 (diff)
downloadsystemtap-steved-f902d9596b3f7ee135d180ec0bae01c05d9a97bd.tar.gz
systemtap-steved-f902d9596b3f7ee135d180ec0bae01c05d9a97bd.tar.xz
systemtap-steved-f902d9596b3f7ee135d180ec0bae01c05d9a97bd.zip
* kernel_{string,long,...,char} protected accessor functions
* test suites for all of 'em too * even documentation * mm, donuts 2007-02-06 Frank Ch. Eigler <fche@elastic.org> * stapfuncs.5.in: Add docs for kernel_{long,int,short,char} and some user_string* variants. 2007-02-06 Frank Ch. Eigler <fche@elastic.org> * conversions.stp (kernel_long/int/short/char): New functions. 2007-02-06 Frank Ch. Eigler <fche@elastic.org> * buildok/conversions.stp: Build-test all conversions.stp functions. * systemtap.stress/conversions.*: New test.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/ChangeLog5
-rwxr-xr-xtestsuite/buildok/conversions.stp13
-rw-r--r--testsuite/systemtap.stress/conversions.exp19
-rw-r--r--testsuite/systemtap.stress/conversions.stp15
4 files changed, 52 insertions, 0 deletions
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 <fche@elastic.org>
+
+ * buildok/conversions.stp: Build-test all conversions.stp functions.
+ * systemtap.stress/conversions.*: New test.
+
2007-01-29 Frank Ch. Eigler <fche@elastic.org>
* 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=<many>
+
+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,"<only suspected, not known>")) }
+probe begin { print (user_string_warn ($1)) }
+probe begin { print (user_string_quoted ($1)) }
+probe begin(1) { print ("\n") exit () }