about summary refs log tree commit diff
path: root/Test/D04parameter.ztst
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2016-08-31 11:31:55 +0100
committerPeter Stephenson <pws@zsh.org>2016-08-31 11:31:55 +0100
commit8e329ccb0a1dd5f6dca437f93e107c2cc9c6f8f7 (patch)
treeab614be19f612888a9b7526989f81a00a6662849 /Test/D04parameter.ztst
parent8ce98c75f5330eecfa474e342146b8d057abcefc (diff)
downloadzsh-8e329ccb0a1dd5f6dca437f93e107c2cc9c6f8f7.tar.gz
zsh-8e329ccb0a1dd5f6dca437f93e107c2cc9c6f8f7.tar.xz
zsh-8e329ccb0a1dd5f6dca437f93e107c2cc9c6f8f7.zip
39141: Use zsh instead of sh in SHLVL test.
This removes ambiguous behaviour of sh which may or may not
increment SHLVL.
Diffstat (limited to 'Test/D04parameter.ztst')
-rw-r--r--Test/D04parameter.ztst26
1 files changed, 14 insertions, 12 deletions
diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst
index 75ace5a9b..e779aaba8 100644
--- a/Test/D04parameter.ztst
+++ b/Test/D04parameter.ztst
@@ -1718,24 +1718,26 @@
 >2
 >2
 
+  # SHLVL is incremented twice and decremented once in between.
   SHLVL=1
-  $ZTST_testdir/../Src/zsh -fc 'sh -c "echo \$SHLVL"'
-  $ZTST_testdir/../Src/zsh -fc '(sh -c "echo \$SHLVL")'
-  $ZTST_testdir/../Src/zsh -fc '( (sh -c "echo \$SHLVL"))'
+  $ZTST_testdir/../Src/zsh -fc $ZTST_testdir/../Src/zsh' -fc "echo \$SHLVL"'
+  $ZTST_testdir/../Src/zsh -fc '('$ZTST_testdir/../Src/zsh' -fc "echo \$SHLVL")'
+  $ZTST_testdir/../Src/zsh -fc '( ('$ZTST_testdir/../Src/zsh' -fc "echo \$SHLVL"))'
 0:SHLVL decremented upon implicit exec optimisation
->1
->1
->1
-
-  SHLVL=1
-  $ZTST_testdir/../Src/zsh -fc '(sh -c "echo \$SHLVL"); exit'
-  $ZTST_testdir/../Src/zsh -fc '(exec sh -c "echo \$SHLVL"); exit'
-  $ZTST_testdir/../Src/zsh -fc '( (sh -c "echo \$SHLVL"); exit)'
-0:SHLVL not decremented upon exec in subshells
 >2
 >2
 >2
 
+  # SHLVL is incremented twice with no decrement in between.
+  SHLVL=1
+  $ZTST_testdir/../Src/zsh -fc '('$ZTST_testdir/../Src/zsh' -fc "echo \$SHLVL"); exit'
+  $ZTST_testdir/../Src/zsh -fc '(exec '$ZTST_testdir/../Src/zsh' -fc "echo \$SHLVL"); exit'
+  $ZTST_testdir/../Src/zsh -fc '( ('$ZTST_testdir/../Src/zsh' -fc "echo \$SHLVL"); exit)'
+0:SHLVL not decremented upon exec in subshells
+>3
+>3
+>3
+
 # The following tests the return behaviour of parsestr/parsestrnoerr
   alias param-test-alias='print $'\''\x45xpanded in substitution'\' 
   param='$(param-test-alias)'