diff options
-rw-r--r-- | tools/regression/bin/sh/errors/option-error.0 | 46 | ||||
-rw-r--r-- | tools/regression/bin/sh/errors/redirection-error.0 | 53 |
2 files changed, 99 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/errors/option-error.0 b/tools/regression/bin/sh/errors/option-error.0 new file mode 100644 index 0000000..f599d59 --- /dev/null +++ b/tools/regression/bin/sh/errors/option-error.0 @@ -0,0 +1,46 @@ +# $FreeBSD$ +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 diff --git a/tools/regression/bin/sh/errors/redirection-error.0 b/tools/regression/bin/sh/errors/redirection-error.0 new file mode 100644 index 0000000..d11118a --- /dev/null +++ b/tools/regression/bin/sh/errors/redirection-error.0 @@ -0,0 +1,53 @@ +# $FreeBSD$ +IFS=, + +SPECIAL="break,\ + :,\ + continue,\ + . /dev/null, + eval, + exec, + export -p, + readonly -p, + set, + shift, + times, + trap, + unset foo" + +UTILS="alias,\ + bg,\ + bind,\ + cd,\ + command echo,\ + echo,\ + false,\ + fc -l,\ + fg,\ + getopts a -a,\ + hash,\ + jobs,\ + printf a,\ + pwd,\ + read var < /dev/null,\ + test,\ + true,\ + type ls,\ + ulimit,\ + umask,\ + unalias -a,\ + wait" + +# Special built-in utilities must abort on a redirection 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 |