summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Schaefer <schaefer@zsh.org>2022-05-01 12:17:33 -0700
committerBart Schaefer <schaefer@zsh.org>2022-05-01 12:17:33 -0700
commit8fac1b7c62cb2a70945617e8e1eb95b3b4fabf30 (patch)
treea623d3670df374050e9a344e9abb97abe74f54cb
parentf80f880c4ba3f9c37cff24045af23e0af031a71c (diff)
downloadzsh-8fac1b7c62cb2a70945617e8e1eb95b3b4fabf30.tar.gz
zsh-8fac1b7c62cb2a70945617e8e1eb95b3b4fabf30.tar.xz
zsh-8fac1b7c62cb2a70945617e8e1eb95b3b4fabf30.zip
50160: Regression tests for 50126, 50136, and 50149
-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*