ptx: fix an invalid heap reference with short --width
[coreutils.git] / tests / misc / nl.sh
blob826894af24f8171d4e94fd97758292c0cb2a1d37
1 #!/bin/sh
2 # exercise nl functionality
4 # Copyright (C) 2002-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
20 print_ver_ nl
23 echo a | nl > out || fail=1
24 echo b | nl -s%n >> out || fail=1
25 echo c | nl -n ln >> out || fail=1
26 echo d | nl -n rn >> out || fail=1
27 echo e | nl -n rz >> out || fail=1
28 echo === >> out
29 printf 'a\n\n' | nl > t || fail=1; cat -A t >> out
30 cat <<\EOF > exp
31 1 a
32 1%nb
33 1 c
34 1 d
35 000001 e
36 ===
37 1^Ia$
39 EOF
40 compare exp out || fail=1
42 # Ensure numbering reset at each delimiter.
43 # coreutils <= v8.25 only reset at a page header.
44 printf '%s\n' '\:\:\:' a '\:\:' b '\:' c > in.txt || framework_failure_
45 nl -ha -fa in.txt > out.tmp || fail=1
46 nl -p -ha -fa in.txt >> out.tmp || fail=1
47 sed '/^$/d' < out.tmp > out || framework_failure_
48 cat <<\EOF > exp
49 1 a
50 1 b
51 1 c
52 1 a
53 2 b
54 3 c
55 EOF
56 compare exp out || fail=1
58 Exit $fail