summaryrefslogtreecommitdiffstats
path: root/tests/varenv22.sub
diff options
context:
space:
mode:
Diffstat (limited to 'tests/varenv22.sub')
-rw-r--r--tests/varenv22.sub17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/varenv22.sub b/tests/varenv22.sub
new file mode 100644
index 0000000..6d42bb5
--- /dev/null
+++ b/tests/varenv22.sub
@@ -0,0 +1,17 @@
+# test behavior of FUNCNAME in and out of parse_and_execute scenarios
+
+# in parse_and_execute
+${THIS_SH} -c 'trap "echo trap:\$FUNCNAME" EXIT ; trap ; f() { exit; } ; f' bash
+
+${THIS_SH} << \EOF
+eval "trap 'echo trap:\$FUNCNAME' EXIT ; trap; f() { exit; } ; f"
+EOF
+
+# not in parse_and_execute
+${THIS_SH} << \EOF
+trap 'echo trap:$FUNCNAME' EXIT ; trap; f() { exit; } ; f
+EOF
+
+# this has to be last
+trap 'echo trap:$FUNCNAME' EXIT ; trap; f() { exit; } ; f
+