mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-08-12 13:10:45 +02:00
commit bash-20210217 snapshot
This commit is contained in:
@@ -14,6 +14,7 @@ no
|
||||
no
|
||||
no
|
||||
ok
|
||||
esac
|
||||
ok 1
|
||||
ok 2
|
||||
ok 3
|
||||
|
||||
@@ -62,6 +62,12 @@ case abc in (["$empty"]|[!a-z]*) echo yes ;; (*) echo no ;; esac
|
||||
|
||||
case " " in ( [" "] ) echo ok;; ( * ) echo no;; esac
|
||||
|
||||
# posix issue discovered after bash-5.1 was released
|
||||
case esac in (esac) echo esac;; esac
|
||||
case k in else|done|time|esac) for f in 1 2 3 ; do :; done esac
|
||||
|
||||
|
||||
|
||||
# tests of quote removal and pattern matching
|
||||
${THIS_SH} ./case1.sub
|
||||
${THIS_SH} ./case2.sub
|
||||
|
||||
@@ -61,6 +61,8 @@
|
||||
: $(case in in esac)
|
||||
|
||||
: $(case x in in|esac) foo;; esac)
|
||||
: $(case esac in (esac) echo esac;; esac)
|
||||
: $(case k in else|done|time|esac) for f in 1 2 3 ; do :; done esac)
|
||||
|
||||
# this is an error
|
||||
${THIS_SH} -c ': $(case x in esac|in) foo;; esac)' bash
|
||||
|
||||
+2
-4
@@ -1,6 +1,4 @@
|
||||
Testing for POSIX.2 conformance
|
||||
./posix2.tests: eval: line 195: syntax error near unexpected token `esac'
|
||||
./posix2.tests: eval: line 195: `case esac in (esac) ;; *) echo "case esac test 3" ;; esac'
|
||||
./posix2.tests: eval: line 197: syntax error near unexpected token `)'
|
||||
./posix2.tests: eval: line 197: `case esac in esac) ;; *) echo "case esac test 4";; esac'
|
||||
./posix2.tests: eval: line 199: syntax error near unexpected token `)'
|
||||
./posix2.tests: eval: line 199: `case esac in esac) ;; *) echo "case esac test 4";; esac'
|
||||
All tests passed
|
||||
|
||||
+5
-3
@@ -190,11 +190,13 @@ case esac in (foo|esac) ;; *) testfail "case esac test 1" ;; esac
|
||||
newtest
|
||||
case esac in foo|esac) ;; *) testfail "case esac test 2" ;; esac
|
||||
|
||||
# POSIX.2 grammar rule 4 problem through bash-5.1
|
||||
newtest
|
||||
eval 'case esac in (esac) ;; *) testfail "case esac test 3" ;; esac'
|
||||
|
||||
# these are supposed to be syntax errors
|
||||
newtest
|
||||
eval 'case esac in (esac) ;; *) echo "case esac test 3" ;; esac'
|
||||
newtest
|
||||
eval 'case esac in esac) ;; *) echo "case esac test 4";; esac'
|
||||
eval 'case esac in esac) ;; *) echo "case esac test 4";; esac' && testfail 'case esac test 4'
|
||||
|
||||
if [ $exitval = 0 ]; then
|
||||
echo "All tests passed"
|
||||
|
||||
Reference in New Issue
Block a user