summaryrefslogtreecommitdiffstats
path: root/shell_cmds/sh/tests/errors/option-error.0
diff options
context:
space:
mode:
Diffstat (limited to 'shell_cmds/sh/tests/errors/option-error.0')
-rw-r--r--shell_cmds/sh/tests/errors/option-error.046
1 files changed, 46 insertions, 0 deletions
diff --git a/shell_cmds/sh/tests/errors/option-error.0 b/shell_cmds/sh/tests/errors/option-error.0
new file mode 100644
index 0000000..473c0b9
--- /dev/null
+++ b/shell_cmds/sh/tests/errors/option-error.0
@@ -0,0 +1,46 @@
+# $FreeBSD: head/bin/sh/tests/errors/option-error.0 213738 2010-10-12 18:20:38Z obrien $
+IFS=,
+
+SPECIAL="break abc,\
+ continue abc,\
+ .,
+ exit abc,
+ export -x,
+ readonly -x,
+ return abc,
+ set -z,
+ shift abc,
+ trap -y,
+ unset -y"
+
+UTILS="alias -y,\
+ cat -z,\
+ cd abc def,\
+ command break abc,\
+ expr 1 +,\
+ fc -z,\
+ getopts,\
+ hash -z,\
+ jobs -z,\
+ printf,\
+ pwd abc,\
+ read,\
+ test abc =,\
+ ulimit -z,\
+ umask -z,\
+ unalias -z,\
+ wait abc"
+
+# Special built-in utilities must abort on an option or operand error.
+set -- ${SPECIAL}
+for cmd in "$@"
+do
+ ${SH} -c "${cmd}; exit 0" 2>/dev/null && exit 1
+done
+
+# Other utilities must not abort.
+set -- ${UTILS}
+for cmd in "$@"
+do
+ ${SH} -c "${cmd}; exit 0" 2>/dev/null || exit 1
+done