diff options
author | stefanf <stefanf@FreeBSD.org> | 2006-04-02 19:02:49 +0000 |
---|---|---|
committer | stefanf <stefanf@FreeBSD.org> | 2006-04-02 19:02:49 +0000 |
commit | 11fa8275256fedb76b435f9f1b15e39c53d91e30 (patch) | |
tree | 6f44e27c83c255cbb37ef2c0803a0e888800c821 /tools | |
parent | 8d43248fc1256a9b644eff05327889ec32f7989e (diff) | |
download | FreeBSD-src-11fa8275256fedb76b435f9f1b15e39c53d91e30.zip FreeBSD-src-11fa8275256fedb76b435f9f1b15e39c53d91e30.tar.gz |
Add test cases that check utility syntax errors and redirection errors. For
special built-in utilities they must terminate the shell, for other
utilities only a error message shall be written. We currently fail both
tests.
Diffstat (limited to 'tools')
-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 |