mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-08-09 19:50:32 +02:00
posix conformance fixes
This commit is contained in:
@@ -296,3 +296,23 @@ x +123x
|
||||
x +123x
|
||||
x +123x
|
||||
x +123x
|
||||
abcd
|
||||
ab
|
||||
123
|
||||
123
|
||||
173
|
||||
7b
|
||||
7B
|
||||
hello
|
||||
hello
|
||||
123
|
||||
6
|
||||
123 --
|
||||
123 --
|
||||
173 --
|
||||
7b --
|
||||
7B --
|
||||
hello --
|
||||
hello --
|
||||
123 --
|
||||
6 --
|
||||
|
||||
@@ -329,3 +329,4 @@ ${THIS_SH} ./printf1.sub
|
||||
${THIS_SH} ./printf2.sub
|
||||
${THIS_SH} ./printf3.sub
|
||||
${THIS_SH} ./printf4.sub
|
||||
${THIS_SH} ./printf5.sub
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
printf "%.4s\n" abcde
|
||||
printf "%.2b\n" abcde
|
||||
|
||||
printf "%4d\n" 123
|
||||
printf "%5i\n" 123
|
||||
printf "%4o\n" 123
|
||||
printf "%4x\n" 123
|
||||
printf "%4X\n" 123
|
||||
printf "%7b\n" hello
|
||||
printf "%6s\n" hello
|
||||
printf "%4u\n" 123
|
||||
printf "%2c\n" 65
|
||||
|
||||
printf "%-4d--\n" 123
|
||||
printf "%-5i--\n" 123
|
||||
printf "%-4o--\n" 123
|
||||
printf "%-4x--\n" 123
|
||||
printf "%-4X--\n" 123
|
||||
printf "%-7b--\n" hello
|
||||
printf "%-6s--\n" hello
|
||||
printf "%-4u--\n" 123
|
||||
printf "%-2c--\n" 65
|
||||
@@ -115,3 +115,6 @@ ${THIS_SH} ./read7.sub
|
||||
|
||||
# test behavior of read -n and read -d on regular files
|
||||
${THIS_SH} ./read8.sub
|
||||
|
||||
# test behavior of trailing IFS whitespace - POSIX conformance
|
||||
${THIS_SH} ./read9.sub
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
: ${TMPDIR:=/var/tmp}
|
||||
|
||||
TESTDIR=${TMPDIR}/read9-test-$$
|
||||
mkdir ${TESTDIR}
|
||||
cd $TESTDIR || {
|
||||
echo "$TESTDIR: cannot cd" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
printf ' line\tb \t\r\f\v\n' > read9.stdin || exit 1
|
||||
printf 'var1=" line", var2="b "\n' > read9.expout || exit 1
|
||||
|
||||
IFS=$'\t\r\f\v'
|
||||
|
||||
{
|
||||
# line 2
|
||||
unset var1 var2
|
||||
read var1 var2 &&
|
||||
printf 'var1="%s", var2="%s"\n' "$var1" "$var2"
|
||||
} < read9.stdin > read9.stdout 2>&1
|
||||
|
||||
cmp read9.expout read9.stdout || {
|
||||
echo "read9.sub: expected output and actual output differ"
|
||||
diff read9.expout read9.stdout
|
||||
}
|
||||
|
||||
cd $OLDPWD
|
||||
rm -rf $TESTDIR
|
||||
Reference in New Issue
Block a user