xref: /aosp_15_r20/external/zstd/tests/gzip/null-suffix-clobber.sh (revision 01826a4963a0d8a59bc3812d29bdf0fb76416722)
1*01826a49SYabin Cui#!/bin/sh
2*01826a49SYabin Cui# Before gzip-1.5, gzip -d -S '' k.gz would delete F.gz and not create "F"
3*01826a49SYabin Cui
4*01826a49SYabin Cui# Copyright (C) 2010-2016 Free Software Foundation, Inc.
5*01826a49SYabin Cui
6*01826a49SYabin Cui# This program is free software: you can redistribute it and/or modify
7*01826a49SYabin Cui# it under the terms of the GNU General Public License as published by
8*01826a49SYabin Cui# the Free Software Foundation, either version 3 of the License, or
9*01826a49SYabin Cui# (at your option) any later version.
10*01826a49SYabin Cui
11*01826a49SYabin Cui# This program is distributed in the hope that it will be useful,
12*01826a49SYabin Cui# but WITHOUT ANY WARRANTY; without even the implied warranty of
13*01826a49SYabin Cui# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*01826a49SYabin Cui# GNU General Public License for more details.
15*01826a49SYabin Cui
16*01826a49SYabin Cui# You should have received a copy of the GNU General Public License
17*01826a49SYabin Cui# along with this program.  If not, see <https://www.gnu.org/licenses/>.
18*01826a49SYabin Cui# limit so don't run it by default.
19*01826a49SYabin Cui
20*01826a49SYabin Cui. "${srcdir=.}/init.sh"; path_prepend_ .
21*01826a49SYabin Cui
22*01826a49SYabin Cuiprintf anything | gzip > F.gz || framework_failure_
23*01826a49SYabin Cuiecho y > yes || framework_failure_
24*01826a49SYabin Cuiecho "gzip: invalid suffix ''" > expected-err || framework_failure_
25*01826a49SYabin Cui
26*01826a49SYabin Cuifail=0
27*01826a49SYabin Cui
28*01826a49SYabin Cuigzip ---presume-input-tty -d -S '' F.gz < yes > out 2>err && fail=1
29*01826a49SYabin Cui
30*01826a49SYabin Cuicompare /dev/null out || fail=1
31*01826a49SYabin Cuicompare expected-err err || fail=1
32*01826a49SYabin Cui
33*01826a49SYabin Cuitest -f F.gz || fail=1
34*01826a49SYabin Cui
35*01826a49SYabin CuiExit $fail
36