svn commit: r291903 - head/bin/sh/tests/parameters
Jilles Tjoelker
jilles at FreeBSD.org
Sun Dec 6 14:09:33 UTC 2015
Author: jilles
Date: Sun Dec 6 14:09:31 2015
New Revision: 291903
URL: https://svnweb.freebsd.org/changeset/base/291903
Log:
sh: Add limited test for ${#@} and ${#*}.
POSIX leaves the result of expanding ${#@} and ${#*} unspecified, but ensure
it is numeric.
Added:
head/bin/sh/tests/parameters/positional9.0 (contents, props changed)
Modified:
head/bin/sh/tests/parameters/Makefile
Modified: head/bin/sh/tests/parameters/Makefile
==============================================================================
--- head/bin/sh/tests/parameters/Makefile Sun Dec 6 14:07:57 2015 (r291902)
+++ head/bin/sh/tests/parameters/Makefile Sun Dec 6 14:09:31 2015 (r291903)
@@ -21,6 +21,7 @@ FILES+= positional5.0
FILES+= positional6.0
FILES+= positional7.0
FILES+= positional8.0
+FILES+= positional9.0
FILES+= pwd1.0
FILES+= pwd2.0
Added: head/bin/sh/tests/parameters/positional9.0
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/bin/sh/tests/parameters/positional9.0 Sun Dec 6 14:09:31 2015 (r291903)
@@ -0,0 +1,18 @@
+# $FreeBSD$
+# Although POSIX leaves the result of expanding ${#@} and ${#*} unspecified,
+# make sure it is at least numeric.
+
+set -- bb cc ddd
+set -f
+lengths=${#*}${#@}"${#*}${#@}"$(echo ${#*}${#@}"${#*}${#@}")
+IFS=
+lengths=$lengths${#*}${#@}"${#*}${#@}"$(echo ${#*}${#@}"${#*}${#@}")
+case $lengths in
+*[!0-9]*)
+ printf 'bad: %s\n' "$lengths"
+ exit 3 ;;
+????????????????*) ;;
+*)
+ printf 'too short: %s\n' "$lengths"
+ exit 3 ;;
+esac
More information about the svn-src-head
mailing list