summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Shahaf <danielsh@apache.org>2019-12-31 01:52:32 +0000
committerDaniel Shahaf <danielsh@apache.org>2020-01-01 13:55:39 +0000
commit9432d9b1cf8a9388eab05c59abf641c2b17fa0d1 (patch)
tree259d5a61b2e44dee7a04f4f1c3752180e34b43ce
parent7e2c80fcd5a2aeae299f55e392e00275943f1562 (diff)
downloadzsh-9432d9b1cf8a9388eab05c59abf641c2b17fa0d1.tar.gz
zsh-9432d9b1cf8a9388eab05c59abf641c2b17fa0d1.tar.xz
zsh-9432d9b1cf8a9388eab05c59abf641c2b17fa0d1.zip
45169/0002 (tweaked for trailing newlines): Add an expected-to-fail test for workers/44007.
-rw-r--r--ChangeLog4
-rw-r--r--Etc/BUGS14
-rw-r--r--Test/C03traps.ztst17
3 files changed, 23 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 909bb065a..08c7f43b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2020-01-01  Daniel Shahaf  <danielsh@apache.org>
 
+	* 45169/0002 (tweaked for trailing newlines): Etc/BUGS,
+	Test/C03traps.ztst: Add an expected-to-fail test for
+	workers/44007.
+
 	* 45169/0001: Test/B01cd.ztst, Test/ztst.zsh,
 	Util/ztst-syntax.vim: In the test suite, allow test cases to
 	be marked as expected to fail.
diff --git a/Etc/BUGS b/Etc/BUGS
index 3fbe81831..8112299f5 100644
--- a/Etc/BUGS
+++ b/Etc/BUGS
@@ -26,16 +26,6 @@ skipped when STTY=... is set for that command
 41203 and others: Make it easier to maintain C modules out of tree.
 (May require defining a stable API for modules, see 41254)
 ------------------------------------------------------------------------
-44007 - Martijn - exit in trap executes rest of function (prints "fn2")
-[[[
-trap 'echo $1; exit; echo $2' USR1
-fn() {
-  echo fn1
-  kill -USR1 $$
-  echo fn2
-}
-echo out1
-fn trap1 trap2
-echo out2
-]]]
+44007 - Martijn - exit in trap executes rest of function
+See test case in Test/C03traps.ztst.
 ------------------------------------------------------------------------
diff --git a/Test/C03traps.ztst b/Test/C03traps.ztst
index 4aebd92b7..e661aabd5 100644
--- a/Test/C03traps.ztst
+++ b/Test/C03traps.ztst
@@ -881,6 +881,23 @@ F:Must be tested with a top-level script rather than source or function
   $ZTST_testdir/../Src/zsh -f <<<'fn() { exit 0; }; trap fn EXIT; false'
 0:Explicit exit status overrides implicit: script-like code path
 
+ $ZTST_testdir/../Src/zsh -f <<<$'
+ trap \'echo $1; exit; echo $2\' USR1
+ fn() {
+         echo fn1
+         kill -s USR1 $$
+         echo fn2
+ }
+ echo out1
+ fn trap1 trap2
+ echo out2
+ '
+-f:(workers/44007) function execution continues after 'exit' in trap
+>out1
+>fn1
+>trap1
+# As of 5.7.1-test-2, the output was "out1 fn1 trap1 fn2" (on separate lines).
+
 %clean
 
   rm -f TRAPEXIT