gzip: port to SIGPIPE-less platforms
[gzip.git] / tests / hufts
blobec845400d81b7310e4f16932782a2e1a091dd996
1 #!/bin/sh
2 # Exercise bugs whereby invalid input could make gzip -d misbehave.
4 # Copyright (C) 2009-2021 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/>.
18 # limit so don't run it by default.
20 . "${srcdir=.}/init.sh"; path_prepend_ ..
22 printf '\n...: invalid compressed data--format violated\n' > exp \
23 || framework_failure_
25 fail=0
26 returns_ 1 gzip -dc "$abs_srcdir/hufts-segv.gz" > out 2> err || fail=1
28 compare /dev/null out || fail=1
30 sed 's/.*hufts-segv.gz: /...: /' err > k; mv k err || fail=1
31 grep -v 'Operation-Ending-Supplemental Code' err > k; mv k err || fail=1
32 compare exp err || fail=1
34 printf '\037\213\010\000\060\060\060\060\060\060\144\000\000\000' > bug33501 \
35 || framework_failure_
36 printf '\ngzip: stdin: invalid compressed data--format violated\n' >exp33501 \
37 || framework_failure_
38 returns_ 1 gzip -d <bug33501 >out33501 2> err33501 || fail=1
39 grep -v 'Operation-Ending-Supplemental Code' err33501 > k; mv k err33501 || fail=1
40 compare exp33501 err33501 || fail=1
42 Exit $fail