summaryrefslogtreecommitdiffstats
path: root/scratch/bash-3.1-postpatch/tests/exec6.sub
diff options
context:
space:
mode:
authorPete Travis <immanetize@fedoraproject.org>2014-10-01 11:33:51 -0600
committerPete Travis <immanetize@fedoraproject.org>2014-10-01 11:33:51 -0600
commit3f6c1435a4cbdf73a65639b05898a01c0dfc21ac (patch)
treec29f3db44b106fc8b145656cd0238341551b22c0 /scratch/bash-3.1-postpatch/tests/exec6.sub
parent46c50fce0354d81d347a8055314a688fc8aa9f52 (diff)
downloadrpmbuild-sles10-bash.tar.gz
rpmbuild-sles10-bash.tar.xz
rpmbuild-sles10-bash.zip
we might need this sles10 stuff latersles10-bash
Diffstat (limited to 'scratch/bash-3.1-postpatch/tests/exec6.sub')
-rw-r--r--scratch/bash-3.1-postpatch/tests/exec6.sub54
1 files changed, 54 insertions, 0 deletions
diff --git a/scratch/bash-3.1-postpatch/tests/exec6.sub b/scratch/bash-3.1-postpatch/tests/exec6.sub
new file mode 100644
index 0000000..50d0e70
--- /dev/null
+++ b/scratch/bash-3.1-postpatch/tests/exec6.sub
@@ -0,0 +1,54 @@
+# builtins with exit status inverted
+
+( true )
+echo $?
+( ! true )
+echo $?
+
+( false )
+echo $?
+( ! false )
+echo $?
+
+# inverting shouldn't affect exit
+(exit 42)
+echo $?
+
+( ! exit 42 )
+echo $?
+
+# commands requiring an exec with exit status inverted -- broken in bash-2.04
+
+( ls > /dev/null 2>&1 )
+echo $?
+( ! ls > /dev/null 2>&1 )
+echo $?
+
+touch /tmp/notwrite
+chmod 400 /tmp/notwrite
+
+# make sure redirection failures in commands whose exit status is inverted
+# are handled correctly
+
+( ls > /tmp/notwrite ) 2>/dev/null
+echo $?
+
+( ! ls > /tmp/notwrite ) 2>/dev/null
+echo $?
+
+# now add exit traps, true and false for commands with and without exit
+# status inversion
+
+(trap 'false' 0 ; ! ls > /tmp/notwrite ) 2>/dev/null
+echo $?
+
+(trap 'false' 0 ; ls > /tmp/notwrite ) 2>/dev/null
+echo $?
+
+(trap 'true' 0 ; ! ls > /tmp/notwrite ) 2>/dev/null
+echo $?
+
+(trap 'true' 0 ; ls > /tmp/notwrite ) 2>/dev/null
+echo $?
+
+rm -f /tmp/notwrite