summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testsuite/ChangeLog5
-rw-r--r--testsuite/systemtap.base/error_fn.exp7
-rw-r--r--testsuite/systemtap.base/error_fn.stp17
3 files changed, 29 insertions, 0 deletions
diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog
index cf4624ee..a7c2b3f7 100644
--- a/testsuite/ChangeLog
+++ b/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-28 Josh Stone <joshua.i.stone@intel.com>
+
+ PR 6529
+ * systemtap.base/error_fn.*: New tests.
+
2008-05-28 Mark Wielaard <mwielaard@redhat.com>
* testsuite/Makefile.am (clean-local): Correct redirect of stderr.
diff --git a/testsuite/systemtap.base/error_fn.exp b/testsuite/systemtap.base/error_fn.exp
new file mode 100644
index 00000000..c0de850f
--- /dev/null
+++ b/testsuite/systemtap.base/error_fn.exp
@@ -0,0 +1,7 @@
+# check that errors in nested functions are not lost on return
+# bugzilla 6529
+
+set test "error_fn"
+
+stap_run $srcdir/$subdir/$test.stp no_load ".*synthetic error.*"
+
diff --git a/testsuite/systemtap.base/error_fn.stp b/testsuite/systemtap.base/error_fn.stp
new file mode 100644
index 00000000..2e68026f
--- /dev/null
+++ b/testsuite/systemtap.base/error_fn.stp
@@ -0,0 +1,17 @@
+probe begin {
+ println("systemtap starting probe")
+ println("systemtap ending probe")
+}
+
+function generate_error:long() {
+ error("synthetic error")
+ return 1
+}
+
+function compute:long() {
+ return generate_error()
+}
+
+probe end {
+ compute()
+}