1*143d321aSAndrey A. Chernov 2*143d321aSAndrey A. Chernovunset LC_ALL 3*143d321aSAndrey A. ChernovLC_COLLATE=en_US.US-ASCII 4*143d321aSAndrey A. Chernovexport LC_COLLATE 5*143d321aSAndrey A. Chernov 6*143d321aSAndrey A. Chernovfailures=0 7*143d321aSAndrey A. Chernov 8*143d321aSAndrey A. Chernovcheck() { 9*143d321aSAndrey A. Chernov testcase=$1 10*143d321aSAndrey A. Chernov expect=$2 11*143d321aSAndrey A. Chernov eval "set -- $testcase" 12*143d321aSAndrey A. Chernov actual="$*" 13*143d321aSAndrey A. Chernov if [ "$actual" != "$expect" ]; then 14*143d321aSAndrey A. Chernov failures=$((failures+1)) 15*143d321aSAndrey A. Chernov printf '%s\n' "For $testcase, expected $expect actual $actual" 16*143d321aSAndrey A. Chernov fi 17*143d321aSAndrey A. Chernov} 18*143d321aSAndrey A. Chernov 19*143d321aSAndrey A. Chernovset -e 20*143d321aSAndrey A. ChernovT=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) 21*143d321aSAndrey A. Chernovtrap 'rm -rf $T' 0 22*143d321aSAndrey A. Chernovcd -P $T 23*143d321aSAndrey A. Chernov 24*143d321aSAndrey A. Chernovtouch A B a b 25*143d321aSAndrey A. Chernov 26*143d321aSAndrey A. Chernovcheck '*' 'a A b B' 27*143d321aSAndrey A. Chernov 28*143d321aSAndrey A. Chernovexit $((failures != 0)) 29