svn commit: r233116 - in stable/9/tools/regression/bin/sh: builtins expansion parameters

Jilles Tjoelker jilles at FreeBSD.org
Sun Mar 18 13:02:57 UTC 2012


Author: jilles
Date: Sun Mar 18 13:02:56 2012
New Revision: 233116
URL: http://svn.freebsd.org/changeset/base/233116

Log:
  MFC r226892,r228007,r228873,r230121,r232839: sh: Various testcases that
  already work.

Added:
  stable/9/tools/regression/bin/sh/builtins/case11.0
     - copied unchanged from r228007, head/tools/regression/bin/sh/builtins/case11.0
  stable/9/tools/regression/bin/sh/builtins/case12.0
     - copied unchanged from r228007, head/tools/regression/bin/sh/builtins/case12.0
  stable/9/tools/regression/bin/sh/builtins/for1.0
     - copied unchanged from r226892, head/tools/regression/bin/sh/builtins/for1.0
  stable/9/tools/regression/bin/sh/expansion/arith12.0
     - copied unchanged from r232839, head/tools/regression/bin/sh/expansion/arith12.0
  stable/9/tools/regression/bin/sh/expansion/cmdsubst12.0
     - copied unchanged from r230121, head/tools/regression/bin/sh/expansion/cmdsubst12.0
  stable/9/tools/regression/bin/sh/expansion/cmdsubst13.0
     - copied unchanged from r230121, head/tools/regression/bin/sh/expansion/cmdsubst13.0
  stable/9/tools/regression/bin/sh/parameters/positional2.0
     - copied unchanged from r228873, head/tools/regression/bin/sh/parameters/positional2.0
Modified:
Directory Properties:
  stable/9/tools/regression/bin/sh/   (props changed)

Copied: stable/9/tools/regression/bin/sh/builtins/case11.0 (from r228007, head/tools/regression/bin/sh/builtins/case11.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/tools/regression/bin/sh/builtins/case11.0	Sun Mar 18 13:02:56 2012	(r233116, copy of r228007, head/tools/regression/bin/sh/builtins/case11.0)
@@ -0,0 +1,6 @@
+# $FreeBSD$
+
+false
+case x in
+*)
+esac

Copied: stable/9/tools/regression/bin/sh/builtins/case12.0 (from r228007, head/tools/regression/bin/sh/builtins/case12.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/tools/regression/bin/sh/builtins/case12.0	Sun Mar 18 13:02:56 2012	(r233116, copy of r228007, head/tools/regression/bin/sh/builtins/case12.0)
@@ -0,0 +1,6 @@
+# $FreeBSD$
+
+false
+case x in
+y)
+esac

Copied: stable/9/tools/regression/bin/sh/builtins/for1.0 (from r226892, head/tools/regression/bin/sh/builtins/for1.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/tools/regression/bin/sh/builtins/for1.0	Sun Mar 18 13:02:56 2012	(r233116, copy of r226892, head/tools/regression/bin/sh/builtins/for1.0)
@@ -0,0 +1,4 @@
+# $FreeBSD$
+
+false
+for i in `false`; do exit 3; done

Copied: stable/9/tools/regression/bin/sh/expansion/arith12.0 (from r232839, head/tools/regression/bin/sh/expansion/arith12.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/tools/regression/bin/sh/expansion/arith12.0	Sun Mar 18 13:02:56 2012	(r233116, copy of r232839, head/tools/regression/bin/sh/expansion/arith12.0)
@@ -0,0 +1,4 @@
+# $FreeBSD$
+
+_x=4 y_=5 z_z=6
+[ "$((_x*100+y_*10+z_z))" = 456 ]

Copied: stable/9/tools/regression/bin/sh/expansion/cmdsubst12.0 (from r230121, head/tools/regression/bin/sh/expansion/cmdsubst12.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/tools/regression/bin/sh/expansion/cmdsubst12.0	Sun Mar 18 13:02:56 2012	(r233116, copy of r230121, head/tools/regression/bin/sh/expansion/cmdsubst12.0)
@@ -0,0 +1,6 @@
+# $FreeBSD$
+
+f() {
+	echo x$(printf foo >&2)y
+}
+[ "$(f 2>&1)" = "fooxy" ]

Copied: stable/9/tools/regression/bin/sh/expansion/cmdsubst13.0 (from r230121, head/tools/regression/bin/sh/expansion/cmdsubst13.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/tools/regression/bin/sh/expansion/cmdsubst13.0	Sun Mar 18 13:02:56 2012	(r233116, copy of r230121, head/tools/regression/bin/sh/expansion/cmdsubst13.0)
@@ -0,0 +1,12 @@
+# $FreeBSD$
+
+x=1 y=2
+[ "$(
+	case $((x+=1)) in
+	($((y+=1)))	echo bad1 ;;
+	($((y-1)))	echo $x.$y ;;
+	($((y=2)))	echo bad2 ;;
+	(*)		echo bad3 ;;
+	esac
+)" = "2.3" ] || echo "Error at $LINENO"
+[ "$x.$y" = "1.2" ] || echo "Error at $LINENO"

Copied: stable/9/tools/regression/bin/sh/parameters/positional2.0 (from r228873, head/tools/regression/bin/sh/parameters/positional2.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/tools/regression/bin/sh/parameters/positional2.0	Sun Mar 18 13:02:56 2012	(r233116, copy of r228873, head/tools/regression/bin/sh/parameters/positional2.0)
@@ -0,0 +1,65 @@
+# $FreeBSD$
+
+failures=''
+ok=''
+
+testcase() {
+	code="$1"
+	expected="$2"
+	oIFS="$IFS"
+	eval "$code"
+	IFS='|'
+	result="$#|$*"
+	IFS="$oIFS"
+	if [ "x$result" = "x$expected" ]; then
+		ok=x$ok
+	else
+		failures=x$failures
+		echo "For $code, expected $expected actual $result"
+	fi
+}
+
+testcase 'set -- a b; set -- p$@q'		'2|pa|bq'
+testcase 'set -- a b; set -- $@q'		'2|a|bq'
+testcase 'set -- a b; set -- p$@'		'2|pa|b'
+testcase 'set -- a b; set -- p$@q'		'2|pa|bq'
+testcase 'set -- a b; set -- $@q'		'2|a|bq'
+testcase 'set -- a b; set -- p$@'		'2|pa|b'
+testcase 'set -- a b; set -- p$*q'		'2|pa|bq'
+testcase 'set -- a b; set -- $*q'		'2|a|bq'
+testcase 'set -- a b; set -- p$*'		'2|pa|b'
+testcase 'set -- a b; set -- p$*q'		'2|pa|bq'
+testcase 'set -- a b; set -- $*q'		'2|a|bq'
+testcase 'set -- a b; set -- p$*'		'2|pa|b'
+testcase 'set -- a b; set -- "p$@q"'		'2|pa|bq'
+testcase 'set -- a b; set -- "$@q"'		'2|a|bq'
+testcase 'set -- a b; set -- "p$@"'		'2|pa|b'
+testcase 'set -- a b; set -- p"$@"q'		'2|pa|bq'
+testcase 'set -- a b; set -- "$@"q'		'2|a|bq'
+testcase 'set -- a b; set -- p"$@"'		'2|pa|b'
+testcase 'set -- "" a b; set -- "p$@q"'		'3|p|a|bq'
+testcase 'set -- "" a b; set -- "$@q"'		'3||a|bq'
+testcase 'set -- "" a b; set -- "p$@"'		'3|p|a|b'
+testcase 'set -- "" a b; set -- p"$@"q'		'3|p|a|bq'
+testcase 'set -- "" a b; set -- "$@"q'		'3||a|bq'
+testcase 'set -- "" a b; set -- p"$@"'		'3|p|a|b'
+testcase 'set -- a; set -- p$@q'		'1|paq'
+testcase 'set -- a; set -- $@q'			'1|aq'
+testcase 'set -- a; set -- p$@'			'1|pa'
+testcase 'set -- a; set -- p$@q'		'1|paq'
+testcase 'set -- a; set -- $@q'			'1|aq'
+testcase 'set -- a; set -- p$@'			'1|pa'
+testcase 'set -- a; set -- p$*q'		'1|paq'
+testcase 'set -- a; set -- $*q'			'1|aq'
+testcase 'set -- a; set -- p$*'			'1|pa'
+testcase 'set -- a; set -- p$*q'		'1|paq'
+testcase 'set -- a; set -- $*q'			'1|aq'
+testcase 'set -- a; set -- p$*'			'1|pa'
+testcase 'set -- a; set -- "p$@q"'		'1|paq'
+testcase 'set -- a; set -- "$@q"'		'1|aq'
+testcase 'set -- a; set -- "p$@"'		'1|pa'
+testcase 'set -- a; set -- p"$@"q'		'1|paq'
+testcase 'set -- a; set -- "$@"q'		'1|aq'
+testcase 'set -- a; set -- p"$@"'		'1|pa'
+
+test "x$failures" = x


More information about the svn-src-stable-9 mailing list