2 # Tests for file descriptor exhaustion.
4 # Copyright (C) 2009-2016 Free Software Foundation, Inc.
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 .
"${srcdir=.}/tests/init.sh"; path_prepend_ .
/src
22 # Skip the test when running under valgrind.
23 ( ulimit -n 6; sort 3<&- 4<&- 5<&- < /dev
/null
) \
24 || skip_
'fd-limited sort failed; are you running under valgrind?'
26 for i
in $
(seq 31); do
27 echo $i |
tee -a in > __test.
$i || framework_failure_
30 # glob before ulimit to avoid issues on bash 3.2 on OS X 10.6.8 at least
31 test_files
=$
(echo __test.
*)
35 sort -n -m $test_files 3<&- 4<&- 5<&- < /dev
/null
> out
38 { fail
=1; echo 'file descriptor exhaustion not handled' 1>&2; }
40 echo 32 |
tee -a in > in1
43 sort -n -m $test_files - 3<&- 4<&- 5<&- < in1
> out
45 compare
in out ||
{ fail
=1; echo 'stdin not handled properly' 1>&2; }