648db22b |
1 | #!/bin/sh |
2 | # Exercise the --keep option. |
3 | |
4 | # Copyright (C) 2013-2016 Free Software Foundation, Inc. |
5 | |
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. |
10 | |
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. |
15 | |
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. |
19 | |
20 | . "${srcdir=.}/init.sh"; path_prepend_ . |
21 | |
22 | echo fooooooooo > in || framework_failure_ |
23 | cp in orig || framework_failure_ |
24 | |
25 | fail=0 |
26 | |
27 | # Compress and decompress both with and without --keep. |
28 | for k in --keep ''; do |
29 | # With --keep, the source must be retained, otherwise, it must be removed. |
30 | case $k in --keep) op='||' ;; *) op='&&' ;; esac |
31 | |
32 | gzip $k in || fail=1 |
33 | eval "test -f in $op fail=1" |
34 | test -f in.gz || fail=1 |
35 | rm -f in || fail=1 |
36 | |
37 | gzip -d $k in.gz || fail=1 |
38 | eval "test -f in.gz $op fail=1" |
39 | test -f in || fail=1 |
40 | compare in orig || fail=1 |
41 | rm -f in.gz || fail=1 |
42 | done |
43 | |
44 | cp orig in || framework_failure_ |
45 | log=$(gzip -kv in 2>&1) || fail=1 |
46 | case $log in |
47 | *'created in.gz'*) ;; |
48 | *) fail=1;; |
49 | esac |
50 | |
51 | Exit $fail |