From 4b74d0b199bcd6b7e81203ad9b0ce6983dc32e09 Mon Sep 17 00:00:00 2001 From: jilles Date: Sun, 11 Sep 2011 21:38:33 +0000 Subject: [PATCH] MFC r223007,r223011,r223546,r224104: sh: New testcases that already work in stable/8. git-svn-id: svn://svn.freebsd.org/base/stable/8@225494 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- tools/regression/bin/sh/builtins/case10.0 | 16 +++++++ tools/regression/bin/sh/builtins/case6.0 | 52 +++++++++++++++++++++++ tools/regression/bin/sh/builtins/case7.0 | 24 +++++++++++ tools/regression/bin/sh/parser/alias6.0 | 6 +++ 4 files changed, 98 insertions(+) create mode 100644 tools/regression/bin/sh/builtins/case10.0 create mode 100644 tools/regression/bin/sh/builtins/case6.0 create mode 100644 tools/regression/bin/sh/builtins/case7.0 create mode 100644 tools/regression/bin/sh/parser/alias6.0 diff --git a/tools/regression/bin/sh/builtins/case10.0 b/tools/regression/bin/sh/builtins/case10.0 new file mode 100644 index 000000000..a627b5cd9 --- /dev/null +++ b/tools/regression/bin/sh/builtins/case10.0 @@ -0,0 +1,16 @@ +# $FreeBSD$ + +case ! in +[\!!]) ;; +*) echo Failed at $LINENO ;; +esac + +case ! in +['!'!]) ;; +*) echo Failed at $LINENO ;; +esac + +case ! in +["!"!]) ;; +*) echo Failed at $LINENO ;; +esac diff --git a/tools/regression/bin/sh/builtins/case6.0 b/tools/regression/bin/sh/builtins/case6.0 new file mode 100644 index 000000000..8d791831c --- /dev/null +++ b/tools/regression/bin/sh/builtins/case6.0 @@ -0,0 +1,52 @@ +# $FreeBSD$ + +unset LC_ALL +LC_CTYPE=de_DE.ISO8859-1 +export LC_CTYPE + +c1=e +# o umlaut +c2=$(printf '\366') +# non-break space +c3=$(printf '\240') +c4=$(printf '\240') +# $c2$c3$c4 form one utf-8 character + +ok=0 +case $c1$c2$c3$c4 in +*) ok=1 ;; +esac +if [ $ok = 0 ]; then + echo wrong at $LINENO + exit 3 +fi + +case $c1$c2$c3$c4 in +$c1$c2$c3$c4) ;; +*) echo wrong at $LINENO ;; +esac + +case $c1$c2$c3$c4 in +"$c1$c2$c3$c4") ;; +*) echo wrong at $LINENO ;; +esac + +case $c1$c2$c3$c4 in +????) ;; +*) echo wrong at $LINENO ;; +esac + +case $c1$c2$c3$c4 in +[!$c2][!b][!c][!d]) ;; +*) echo wrong at $LINENO ;; +esac + +case $c1$c2$c3$c4 in +[$c1][$c2][$c3][$c4]) ;; +*) echo wrong at $LINENO ;; +esac + +case $c1$c2$c3$c4 in +["$c1"]["$c2"]["$c3"]["$c4"]) ;; +*) echo wrong at $LINENO ;; +esac diff --git a/tools/regression/bin/sh/builtins/case7.0 b/tools/regression/bin/sh/builtins/case7.0 new file mode 100644 index 000000000..96b9de66f --- /dev/null +++ b/tools/regression/bin/sh/builtins/case7.0 @@ -0,0 +1,24 @@ +# $FreeBSD$ + +# Character ranges in a locale other than the POSIX locale, not specified +# by POSIX. + +unset LC_ALL +LC_CTYPE=de_DE.ISO8859-1 +export LC_CTYPE +LC_COLLATE=de_DE.ISO8859-1 +export LC_COLLATE + +c1=e +# o umlaut +c2=$(printf '\366') + +case $c1$c2 in +[a-z][a-z]) ;; +*) echo wrong at $LINENO ;; +esac + +case $c1$c2 in +[a-f][n-p]) ;; +*) echo wrong at $LINENO ;; +esac diff --git a/tools/regression/bin/sh/parser/alias6.0 b/tools/regression/bin/sh/parser/alias6.0 new file mode 100644 index 000000000..c723d08ab --- /dev/null +++ b/tools/regression/bin/sh/parser/alias6.0 @@ -0,0 +1,6 @@ +# $FreeBSD$ + +alias alias0='| cat >/dev/null' + +eval '{ echo bad; } alias0' +eval '(echo bad)alias0' -- 2.45.0