mirror of
https://https.git.savannah.gnu.org/git/diffutils.git
synced 2026-01-27 01:44:20 +00:00
tests: pull latest help-version from gzip
* tests/help-version: Update from gzip. * Makefile.am (TESTS_ENVIRONMENT): Export VERSION, as required for this new help-version script.
This commit is contained in:
parent
46773b6abb
commit
fe2d46d4aa
@ -33,6 +33,7 @@ TESTS_ENVIRONMENT = \
|
||||
fi; \
|
||||
}; \
|
||||
export \
|
||||
VERSION='$(VERSION)' \
|
||||
abs_top_builddir='$(abs_top_builddir)' \
|
||||
abs_top_srcdir='$(abs_top_srcdir)' \
|
||||
abs_srcdir='$(abs_srcdir)' \
|
||||
|
||||
@ -23,9 +23,8 @@
|
||||
test "x$SHELL" = x && SHELL=/bin/sh
|
||||
export SHELL
|
||||
|
||||
test "$VERBOSE" = yes && set -x
|
||||
: ${srcdir=.}
|
||||
. "$srcdir/init.sh"
|
||||
. "$srcdir/init.sh"; path_prepend_ ../src
|
||||
|
||||
expected_failure_status_chroot=125
|
||||
expected_failure_status_env=125
|
||||
@ -44,12 +43,34 @@ expected_failure_status_ls=2
|
||||
expected_failure_status_vdir=2
|
||||
|
||||
expected_failure_status_cmp=2
|
||||
expected_failure_status_zcmp=2
|
||||
expected_failure_status_sdiff=2
|
||||
expected_failure_status_diff3=2
|
||||
expected_failure_status_diff=2
|
||||
expected_failure_status_zdiff=2
|
||||
expected_failure_status_zgrep=2
|
||||
expected_failure_status_zegrep=2
|
||||
expected_failure_status_zfgrep=2
|
||||
|
||||
expected_failure_status_grep=2
|
||||
expected_failure_status_egrep=2
|
||||
expected_failure_status_fgrep=2
|
||||
|
||||
test "$built_programs" \
|
||||
|| { echo "$this_test: no programs built!?!" 1>&2; Exit 1; }
|
||||
|| fail_ "built_programs not specified!?!"
|
||||
|
||||
test "$VERSION" \
|
||||
|| fail_ "set envvar VERSION; it is required for a PATH sanity-check"
|
||||
|
||||
# Extract version from --version output of the first program
|
||||
for i in $built_programs; do
|
||||
v=$(env $i --version | sed -n '1s/.* //p;q')
|
||||
break
|
||||
done
|
||||
|
||||
# Ensure that it matches $VERSION.
|
||||
test "x$v" = "x$VERSION" \
|
||||
|| fail_ "--version-\$VERSION mismatch"
|
||||
|
||||
for lang in C fr da; do
|
||||
for i in $built_programs; do
|
||||
@ -94,6 +115,10 @@ for lang in C fr da; do
|
||||
done
|
||||
done
|
||||
|
||||
bigZ_in=bigZ-in.Z
|
||||
zin=zin.gz
|
||||
zin2=zin2.gz
|
||||
|
||||
tmp=tmp-$$
|
||||
tmp_in=in-$$
|
||||
tmp_in2=in2-$$
|
||||
@ -102,89 +127,111 @@ tmp_out=out-$$
|
||||
mkdir $tmp || fail=1
|
||||
cd $tmp || fail=1
|
||||
|
||||
comm_args="$tmp_in $tmp_in"
|
||||
csplit_args="$tmp_in //"
|
||||
cut_args='-f 1'
|
||||
join_args="$tmp_in $tmp_in"
|
||||
tr_args='a a'
|
||||
comm_setup () { args="$tmp_in $tmp_in"; }
|
||||
csplit_setup () { args="$tmp_in //"; }
|
||||
cut_setup () { args='-f 1'; }
|
||||
join_setup () { args="$tmp_in $tmp_in"; }
|
||||
tr_setup () { args='a a'; }
|
||||
|
||||
chmod_args="a+x $tmp_in"
|
||||
chmod_setup () { args="a+x $tmp_in"; }
|
||||
# Punt on these.
|
||||
chgrp_args=--version
|
||||
chown_args=--version
|
||||
mkfifo_args=--version
|
||||
mknod_args=--version
|
||||
chgrp_setup () { args=--version; }
|
||||
chown_setup () { args=--version; }
|
||||
mkfifo_setup () { args=--version; }
|
||||
mknod_setup () { args=--version; }
|
||||
# Punt on uptime, since it fails (e.g., failing to get boot time)
|
||||
# on some systems, and we shouldn't let that stop `make check'.
|
||||
uptime_args=--version
|
||||
uptime_setup () { args=--version; }
|
||||
|
||||
# Create a file in the current directory, not in $TMPDIR.
|
||||
mktemp_args=mktemp.XXXX
|
||||
mktemp_setup () { args=mktemp.XXXX; }
|
||||
|
||||
cmp_args="$tmp_in $tmp_in2"
|
||||
cmp_setup () { args="$tmp_in $tmp_in2"; }
|
||||
|
||||
# Tell dd not to print the line with transfer rate and total.
|
||||
# The transfer rate would vary between runs.
|
||||
dd_args=status=noxfer
|
||||
dd_setup () { args=status=noxfer; }
|
||||
|
||||
diff_args="$tmp_in $tmp_in2"
|
||||
sdiff_args="$tmp_in $tmp_in2"
|
||||
diff3_args="$tmp_in $tmp_in2 $tmp_in2"
|
||||
cp_args="$tmp_in $tmp_in2"
|
||||
ln_args="$tmp_in ln-target"
|
||||
ginstall_args="$tmp_in $tmp_in2"
|
||||
mv_args="$tmp_in $tmp_in2"
|
||||
mkdir_args=$tmp_dir/subdir
|
||||
rmdir_args=$tmp_dir
|
||||
rm_args=$tmp_in
|
||||
shred_args=$tmp_in
|
||||
touch_args=$tmp_in2
|
||||
truncate_args="--reference=$tmp_in $tmp_in2"
|
||||
zdiff_setup () { args="$zin $zin2"; }
|
||||
zcmp_setup () { args="$zin $zin2"; }
|
||||
zcat_setup () { args=$zin; }
|
||||
gunzip_setup () { args=$zin; }
|
||||
zmore_setup () { args=$zin; }
|
||||
zless_setup () { args=$zin; }
|
||||
znew_setup () { args=$bigZ_in; }
|
||||
zforce_setup () { args=$zin; }
|
||||
zgrep_setup () { args="z $zin"; }
|
||||
zegrep_setup () { args="z $zin"; }
|
||||
zfgrep_setup () { args="z $zin"; }
|
||||
gzexe_setup () { args=$tmp_in; }
|
||||
|
||||
basename_args=$tmp_in
|
||||
dirname_args=$tmp_in
|
||||
expr_args=foo
|
||||
# We know that $tmp_in contains a "0"
|
||||
grep_setup () { args="0 $tmp_in"; }
|
||||
egrep_setup () { args="0 $tmp_in"; }
|
||||
fgrep_setup () { args="0 $tmp_in"; }
|
||||
|
||||
diff_setup () { args="$tmp_in $tmp_in2"; }
|
||||
sdiff_setup () { args="$tmp_in $tmp_in2"; }
|
||||
diff3_setup () { args="$tmp_in $tmp_in2 $tmp_in2"; }
|
||||
cp_setup () { args="$tmp_in $tmp_in2"; }
|
||||
ln_setup () { args="$tmp_in ln-target"; }
|
||||
ginstall_setup () { args="$tmp_in $tmp_in2"; }
|
||||
mv_setup () { args="$tmp_in $tmp_in2"; }
|
||||
mkdir_setup () { args=$tmp_dir/subdir; }
|
||||
rmdir_setup () { args=$tmp_dir; }
|
||||
rm_setup () { args=$tmp_in; }
|
||||
shred_setup () { args=$tmp_in; }
|
||||
touch_setup () { args=$tmp_in2; }
|
||||
truncate_setup () { args="--reference=$tmp_in $tmp_in2"; }
|
||||
|
||||
basename_setup () { args=$tmp_in; }
|
||||
dirname_setup () { args=$tmp_in; }
|
||||
expr_setup () { args=foo; }
|
||||
|
||||
# Punt, in case GNU `id' hasn't been installed yet.
|
||||
groups_args=--version
|
||||
groups_setup () { args=--version; }
|
||||
|
||||
pathchk_args=$tmp_in
|
||||
yes_args=--version
|
||||
logname_args=--version
|
||||
nohup_args=--version
|
||||
printf_args=foo
|
||||
seq_args=10
|
||||
sleep_args=0
|
||||
su_args=--version
|
||||
stdbuf_args="-oL true"
|
||||
timeout_args=--version
|
||||
pathchk_setup () { args=$tmp_in; }
|
||||
yes_setup () { args=--version; }
|
||||
logname_setup () { args=--version; }
|
||||
nohup_setup () { args=--version; }
|
||||
printf_setup () { args=foo; }
|
||||
seq_setup () { args=10; }
|
||||
sleep_setup () { args=0; }
|
||||
su_setup () { args=--version; }
|
||||
stdbuf_setup () { args="-oL true"; }
|
||||
timeout_setup () { args=--version; }
|
||||
|
||||
# I'd rather not run sync, since it spins up disks that I've
|
||||
# deliberately caused to spin down (but not unmounted).
|
||||
sync_args=--version
|
||||
sync_setup () { args=--version; }
|
||||
|
||||
test_args=foo
|
||||
test_setup () { args=foo; }
|
||||
|
||||
# This is necessary in the unusual event that there is
|
||||
# no valid entry in /etc/mtab.
|
||||
df_args=/
|
||||
df_setup () { args=/; }
|
||||
|
||||
# This is necessary in the unusual event that getpwuid (getuid ()) fails.
|
||||
id_args=-u
|
||||
id_setup () { args=-u; }
|
||||
|
||||
# Use env to avoid invoking built-in sleep of Solaris 11's /bin/sh.
|
||||
env sleep 10m &
|
||||
kill_args=$!
|
||||
kill_setup () {
|
||||
env sleep 10m &
|
||||
args=$!
|
||||
}
|
||||
|
||||
link_args="$tmp_in link-target"
|
||||
unlink_args=$tmp_in
|
||||
link_setup () { args="$tmp_in link-target"; }
|
||||
unlink_setup () { args=$tmp_in; }
|
||||
|
||||
ln -s . slink
|
||||
readlink_args=slink
|
||||
readlink_setup () {
|
||||
ln -s . slink
|
||||
args=slink;
|
||||
}
|
||||
|
||||
stat_args=$tmp_in
|
||||
unlink_args=$tmp_in
|
||||
lbracket_args=": ]"
|
||||
stat_setup () { args=$tmp_in; }
|
||||
unlink_setup () { args=$tmp_in; }
|
||||
lbracket_setup () { args=": ]"; }
|
||||
|
||||
# Ensure that each program "works" (exits successfully) when doing
|
||||
# something more than --help or --version.
|
||||
@ -192,13 +239,25 @@ for i in $built_programs; do
|
||||
# Skip these.
|
||||
case $i in chroot|stty|tty|false|chcon|runcon) continue;; esac
|
||||
|
||||
rm -rf $tmp_in $tmp_in2 $tmp_dir $tmp_out
|
||||
echo > $tmp_in
|
||||
echo > $tmp_in2
|
||||
rm -rf $tmp_in $tmp_in2 $tmp_dir $tmp_out $bigZ_in $zin $zin2
|
||||
echo z |gzip > $zin
|
||||
cp $zin $zin2
|
||||
cp $zin $bigZ_in
|
||||
|
||||
# This is sort of kludgey: use numbers so this is valid input for factor,
|
||||
# and two tokens so it's valid input for tsort.
|
||||
echo 2147483647 0 > $tmp_in
|
||||
# Make $tmp_in2 identical. Then, using $tmp_in and $tmp_in2 as arguments
|
||||
# to the likes of cmp and diff makes them exit successfully.
|
||||
cp $tmp_in $tmp_in2
|
||||
mkdir $tmp_dir
|
||||
# echo ================== $i
|
||||
test $i = [ && prog=lbracket || prog=$i
|
||||
eval "args=\$${prog}_args"
|
||||
if type ${prog}_setup > /dev/null 2>&1; then
|
||||
${prog}_setup
|
||||
else
|
||||
args=
|
||||
fi
|
||||
if env $i $args < $tmp_in > $tmp_out; then
|
||||
: # ok
|
||||
else
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user