summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2010-10-14 23:28:31 +0000
committerobrien <obrien@FreeBSD.org>2010-10-14 23:28:31 +0000
commit6b87db6229949831f7144c5f9eb26333841b9fe8 (patch)
tree5bc65d8b3846d1a6d5313c7a5e8469451fe53612 /tools
parentb1b265cb2e3f84fd52e82f702e20f078e0f9ea91 (diff)
downloadFreeBSD-src-6b87db6229949831f7144c5f9eb26333841b9fe8.zip
FreeBSD-src-6b87db6229949831f7144c5f9eb26333841b9fe8.tar.gz
Embellish this testcase a little bit to be more clear what the output is
and why. The first case is correct usage which has but one correct output. The 2nd and 3rd cases are incorrect usage in which the exact output is not standardized and various shells give various allowable output.
Diffstat (limited to 'tools')
-rw-r--r--tools/regression/bin/sh/builtins/getopts1.013
-rw-r--r--tools/regression/bin/sh/builtins/getopts1.0.stdout5
2 files changed, 18 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/builtins/getopts1.0 b/tools/regression/bin/sh/builtins/getopts1.0
index ecb509f..0473aaf 100644
--- a/tools/regression/bin/sh/builtins/getopts1.0
+++ b/tools/regression/bin/sh/builtins/getopts1.0
@@ -1,12 +1,25 @@
# $FreeBSD$
+
+echo '-1-'
set -- -abc
getopts "ab:" OPTION
echo ${OPTION}
+# In this case 'getopts' should realize that we have not provided the
+# required argument for "-b".
+# Note that Solaris 10's (UNIX 03) /usr/xpg4/bin/sh, /bin/sh, and /bin/ksh;
+# ksh93 20090505; pdksh 5.2.14p2; mksh R39c; bash 4.1 PL7; and zsh 4.3.10.
+# all recognize that "b" is missing its argument on the *first* iteration
+# of 'getopts' and do not produce the "a" in $OPTION.
+echo '-2-'
set -- -ab
getopts "ab:" OPTION
echo ${OPTION}
+getopts "ab:" OPTION
+echo ${OPTION}
+# The 'shift' is aimed at causing an error.
+echo '-3-'
shift 1
getopts "ab:" OPTION
echo ${OPTION}
diff --git a/tools/regression/bin/sh/builtins/getopts1.0.stdout b/tools/regression/bin/sh/builtins/getopts1.0.stdout
index bf8e71e..a0a347e 100644
--- a/tools/regression/bin/sh/builtins/getopts1.0.stdout
+++ b/tools/regression/bin/sh/builtins/getopts1.0.stdout
@@ -1,3 +1,8 @@
+-1-
a
+-2-
a
+No arg for -b option
+?
+-3-
?
OpenPOWER on IntegriCloud