1*3117ece4Schristos#!/bin/sh 2*3117ece4Schristos# Exercise the --keep option. 3*3117ece4Schristos 4*3117ece4Schristos# Copyright (C) 2013-2016 Free Software Foundation, Inc. 5*3117ece4Schristos 6*3117ece4Schristos# This program is free software: you can redistribute it and/or modify 7*3117ece4Schristos# it under the terms of the GNU General Public License as published by 8*3117ece4Schristos# the Free Software Foundation, either version 3 of the License, or 9*3117ece4Schristos# (at your option) any later version. 10*3117ece4Schristos 11*3117ece4Schristos# This program is distributed in the hope that it will be useful, 12*3117ece4Schristos# but WITHOUT ANY WARRANTY; without even the implied warranty of 13*3117ece4Schristos# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*3117ece4Schristos# GNU General Public License for more details. 15*3117ece4Schristos 16*3117ece4Schristos# You should have received a copy of the GNU General Public License 17*3117ece4Schristos# along with this program. If not, see <https://www.gnu.org/licenses/>. 18*3117ece4Schristos# limit so don't run it by default. 19*3117ece4Schristos 20*3117ece4Schristos. "${srcdir=.}/init.sh"; path_prepend_ . 21*3117ece4Schristos 22*3117ece4Schristosecho fooooooooo > in || framework_failure_ 23*3117ece4Schristoscp in orig || framework_failure_ 24*3117ece4Schristos 25*3117ece4Schristosfail=0 26*3117ece4Schristos 27*3117ece4Schristos# Compress and decompress both with and without --keep. 28*3117ece4Schristosfor k in --keep ''; do 29*3117ece4Schristos # With --keep, the source must be retained, otherwise, it must be removed. 30*3117ece4Schristos case $k in --keep) op='||' ;; *) op='&&' ;; esac 31*3117ece4Schristos 32*3117ece4Schristos gzip $k in || fail=1 33*3117ece4Schristos eval "test -f in $op fail=1" 34*3117ece4Schristos test -f in.gz || fail=1 35*3117ece4Schristos rm -f in || fail=1 36*3117ece4Schristos 37*3117ece4Schristos gzip -d $k in.gz || fail=1 38*3117ece4Schristos eval "test -f in.gz $op fail=1" 39*3117ece4Schristos test -f in || fail=1 40*3117ece4Schristos compare in orig || fail=1 41*3117ece4Schristos rm -f in.gz || fail=1 42*3117ece4Schristosdone 43*3117ece4Schristos 44*3117ece4Schristoscp orig in || framework_failure_ 45*3117ece4Schristoslog=$(gzip -kv in 2>&1) || fail=1 46*3117ece4Schristoscase $log in 47*3117ece4Schristos *'created in.gz'*) ;; 48*3117ece4Schristos *) fail=1;; 49*3117ece4Schristosesac 50*3117ece4Schristos 51*3117ece4SchristosExit $fail 52