summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorstefanf <stefanf@FreeBSD.org>2006-04-02 19:02:49 +0000
committerstefanf <stefanf@FreeBSD.org>2006-04-02 19:02:49 +0000
commit11fa8275256fedb76b435f9f1b15e39c53d91e30 (patch)
tree6f44e27c83c255cbb37ef2c0803a0e888800c821 /tools
parent8d43248fc1256a9b644eff05327889ec32f7989e (diff)
downloadFreeBSD-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.046
-rw-r--r--tools/regression/bin/sh/errors/redirection-error.053
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
OpenPOWER on IntegriCloud