2 # ensure that tac works with non-seekable or quasi-seekable inputs
4 # Copyright (C) 2011-2023 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 <https://www.gnu.org/licenses/>.
19 .
"${srcdir=.}/tests/init.sh"; path_prepend_ .
/src
22 echo x |
tac - - > out
2> err || fail
=1
23 echo x
> exp || framework_failure_
24 compare exp out || fail
=1
25 compare
/dev
/null err || fail
=1
27 # Make sure it works on funny files in /proc and /sys.
29 for file in /proc
/version
/sys
/kernel
/profiling
; do
30 if test -r $file; then
32 tac copy
> exp1 || framework_failure_
34 tac $file > out1 || fail
=1
35 compare exp1 out1 || fail
=1
39 # Assume timeout is due to failure to close stdin with <&-
40 # which was seen on NetBSD 7.1 / x86_64
41 returns_
124 timeout
10 tac - - <&- 2>err
&& skip_
'error closing stdin'
42 # This failed due to heap corruption from v8.15-v8.25 inclusive.
43 returns_
1 timeout
10 tac - - <&- 2>err || fail
=1