summary refs log tree commit diff
path: root/bin/1sh/tests/errors/option-error.0
diff options
context:
space:
mode:
Diffstat (limited to 'bin/1sh/tests/errors/option-error.0')
-rw-r--r--bin/1sh/tests/errors/option-error.046
1 files changed, 46 insertions, 0 deletions
diff --git a/bin/1sh/tests/errors/option-error.0 b/bin/1sh/tests/errors/option-error.0
new file mode 100644
index 00000000..d28d709f
--- /dev/null
+++ b/bin/1sh/tests/errors/option-error.0
@@ -0,0 +1,46 @@
+# $FreeBSD: releng/12.1/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