summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r--testsuite/systemtap.base/error_fn.exp7
-rw-r--r--testsuite/systemtap.base/error_fn.stp17
2 files changed, 24 insertions, 0 deletions
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()
+}