commit bash-20210305 snapshot

This commit is contained in:
Chet Ramey
2021-03-10 10:35:28 -05:00
parent b3b5f4bb33
commit 11bf534f36
16 changed files with 416 additions and 196 deletions
+5 -3
View File
@@ -34,10 +34,12 @@ a = xyz
a = -xyz 123-
a = abc
timeout 1: ok
unset or null 1
timeout 2: ok
./read2.sub: line 36: read: -3: invalid timeout specification
unset or null 2
timeout 3: ok
unset or null 3
./read2.sub: line 43: read: -3: invalid timeout specification
1
abcde
+3
View File
@@ -109,3 +109,6 @@ ${THIS_SH} ./read5.sub
# test behavior of read -t 0
${THIS_SH} ./read6.sub
# test behavior of readline timeouts
# ${THIS_SH} ./read7.sub
+13 -6
View File
@@ -13,25 +13,32 @@
#
a=4
read -t 2 a < /dev/tty
read -t 1 a < /dev/tty
estat=$?
if [ $estat -gt 128 ]; then
echo timeout 1: ok
else
echo $estat
fi
echo ${a:-unset or null 1}
echo $a
sleep 5 | read -t 1 a
read -t 0.000001 a < /dev/tty
estat=$?
if [ $estat -gt 128 ]; then
echo timeout 2: ok
else
echo $estat
fi
echo ${a:-unset or null 2}
echo $a
sleep 1 | read -t 0.25 a
estat=$?
if [ $estat -gt 128 ]; then
echo timeout 3: ok
else
echo $estat
fi
echo ${a:-unset or null 3}
read -t -3 a < /dev/tty
echo $?
@@ -40,6 +47,6 @@ echo $a
# the above should all time out
echo abcde | {
read -t 2 a
read -t 0.5 a
echo $a
}
+55
View File
@@ -0,0 +1,55 @@
# 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/>.
#
# test behavior of native readline timeouts
read -t 0.001 -e var
estat=$?
if [ $estat -gt 128 ]; then
echo timeout 1: ok
else
echo $estat
fi
echo ${var:-unset or null 1}
read -e -t 0.1 var
estat=$?
if [ $estat -gt 128 ]; then
echo timeout 2: ok
else
echo $estat
fi
echo ${var:-unset or null 2}
read -e -t 1 var < /dev/tty
estat=$?
if [ $estat -gt 128 ]; then
echo timeout 3: ok
else
echo $estat
fi
echo ${var:-unset or null 3}
sleep 2 | read -t 1 -e a
estat=$?
if [ $estat -gt 128 ]; then
echo timeout 4: ok
else
echo $estat
fi
# the above should all time out
echo abcde | {
read -e -t 2 a
echo $a
}