From 9432d9b1cf8a9388eab05c59abf641c2b17fa0d1 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Tue, 31 Dec 2019 01:52:32 +0000 Subject: 45169/0002 (tweaked for trailing newlines): Add an expected-to-fail test for workers/44007. --- ChangeLog | 4 ++++ Etc/BUGS | 14 ++------------ Test/C03traps.ztst | 17 +++++++++++++++++ 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 + * 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 -- cgit 1.4.1