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.
This commit is contained in:
parent
e5f1cf0838
commit
b333fbe98d
46
tools/regression/bin/sh/errors/option-error.0
Normal file
46
tools/regression/bin/sh/errors/option-error.0
Normal file
@ -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
|
53
tools/regression/bin/sh/errors/redirection-error.0
Normal file
53
tools/regression/bin/sh/errors/redirection-error.0
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user