diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2015-03-16 14:25:17 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2015-03-17 10:53:02 -0700 |
commit | 5054e88a7934d5ff5ec14231c8b8676161bb45fa (patch) | |
tree | e8e0158bdee3a455380cb79acf28944832ae50b3 /tests | |
parent | f59030d78f37a625e4f27de94490ce5b45228141 (diff) | |
download | gzip-5054e88a7934d5ff5ec14231c8b8676161bb45fa.tar.gz |
gzip: make the GZIP env var obsolescent
* NEWS, gzip.1:
* doc/gzip.texi (Environment, Tapes): Document this.
* gzip.c (args): Remove static var; no longer needed now that
'main' frees it. All uses removed.
(ENV_OPTION, shortopts): New constants.
(main): Warn about nontrivial uses of GZIP. Reject dangerous uses.
* tests/gzip-env: New test case.
* tests/Makefile.am (TESTS): Add it.
* util.c (add_envopt): Create new vector instead of adding to old
one. Only use changed.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rwxr-xr-x | tests/gzip-env | 43 |
2 files changed, 44 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 8dd6436..8252670 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -15,6 +15,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. TESTS = \ + gzip-env \ helin-segv \ help-version \ hufts \ diff --git a/tests/gzip-env b/tests/gzip-env new file mode 100755 index 0000000..90ceab3 --- /dev/null +++ b/tests/gzip-env @@ -0,0 +1,43 @@ +#!/bin/sh +# Test the obsolescent GZIP environment variable. + +# Copyright 2015 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# limit so don't run it by default. + +. "${srcdir=.}/init.sh"; path_prepend_ .. + +echo a >exp || framework_failure_ +gzip <exp >in || framework_failure_ + +fail=0 +GZIP=-qv gzip -d <in >out 2>err || fail=1 +compare exp out || fail=1 + +for badopt in -- -c --stdout -d --decompress -f --force -h --help -k --keep \ + -l --list -L --license -r --recursive -Sxxx --suffix=xxx '--suffix xxx' \ + -t --test -V --version +do + GZIP=$badopt gzip -d <in >out 2>err && fail=1 +done + +for goodopt in -n --no-name -N --name -q --quiet -v --verbose \ + -1 --fast -2 -3 -4 -5 -6 -7 -8 -9 --best +do + GZIP=$goodopt gzip -d <in >out 2>err || fail=1 + compare exp out || fail=1 +done + +Exit $fail |