summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Test/D03procsubst.ztst20
-rw-r--r--Test/E01options.ztst6
3 files changed, 30 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 1e348d493..ebc09f000 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,11 @@
2022-05-01 Bart Schaefer <schaefer@zsh.org>
+ * 50160: Test/D03procsubst.ztst, Test/E01options.ztst: Regression
+ tests for 50126, 50136, and 50149
+
* 50159: Test/V14system.ztst: Tests for sysread
- * 50157(Daniel Shahaf): Test/D07multibyte.ztst: Test for 50150
+ * 50157 (Daniel Shahaf): Test/D07multibyte.ztst: Test for 50150
2022-04-30 Bart Schaefer <schaefer@zsh.org>
diff --git a/Test/D03procsubst.ztst b/Test/D03procsubst.ztst
index 1e5cd9f6c..d68db35fa 100644
--- a/Test/D03procsubst.ztst
+++ b/Test/D03procsubst.ztst
@@ -167,5 +167,25 @@
print -rC1 -- $TMPPREFIX*(N)
}
0f:external command with =(...) on LHS of pipeline cleans up its tempfiles
+F:subshells including pipe LHS do not pass through zexit()
# (Expected result: no output.)
+# Confirm tempfile exists in the function, but not after exit
+ () {
+ local -x TMPPREFIX=$PWD/exit
+ $ZTST_testdir/../Src/zsh -fc '
+ () {
+ print -rC1 -- $TMPPREFIX*
+ exit
+ } =(sleep 5)
+ '
+ print -rC1 -- $TMPPREFIX*(N)
+ }
+0:regression test: exit in shell function cleans up tempfiles
+F:see preceding test
+*>*.tmp/exit*
+
+ print -u $ZTST_fd 'This test hangs the shell when it fails...'
+ true | false =(nosuchcommand$$)
+1:regression test: race condition with pipe and procsubst
+*?\(eval\):2: command not found: nosuchcommand*
diff --git a/Test/E01options.ztst b/Test/E01options.ztst
index 72749e6ab..b57b23557 100644
--- a/Test/E01options.ztst
+++ b/Test/E01options.ztst
@@ -752,6 +752,12 @@
>These are the contents of the file
>These are the contents of the file
+# Subshell to shield nullexec redirections
+ ( exec 3>&1 3>&2; print -u 3 some words )
+0:regression test: multios with nullexec
+>some words
+?some words
+
# tried this with other things, but not on its own, so much.
unsetopt nomatch
print with nonomatch: flooble*