From: Stefano Lattarini Date: Wed, 31 Mar 2010 21:41:01 +0000 (+0200) Subject: Check that symlinks are resolved by `make dist'. X-Git-Tag: v1.11.1b~87^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e1b08fbaa4358c8344440f7cb868d60ccc1cdf66;p=thirdparty%2Fautomake.git Check that symlinks are resolved by `make dist'. * tests/distlinks.test: New test. * tests/Makefile.am (TESTS): Updated accordingly. Suggested by observations from Ralf Wildenhues. Signed-off-by: Ralf Wildenhues --- diff --git a/ChangeLog b/ChangeLog index 5a59f6583..8995ade19 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-04-11 Stefano Lattarini + + Add tests checking that symlinks are resolved by `make dist'. + * tests/distlinks.test: New test. + * tests/Makefile.am (TESTS): Updated accordingly. + Suggested by observations from Ralf Wildenhues. + 2010-04-11 Ralf Wildenhues Use -9 for maximum xz compression with dist-xz. diff --git a/tests/Makefile.am b/tests/Makefile.am index e721e66f6..7e14b1c66 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -275,6 +275,7 @@ distcom5.test \ distcom6.test \ distcom7.test \ distdir.test \ +distlinks.test \ distname.test \ dollar.test \ dollarvar.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 682e13769..648966f64 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -512,6 +512,7 @@ distcom5.test \ distcom6.test \ distcom7.test \ distdir.test \ +distlinks.test \ distname.test \ dollar.test \ dollarvar.test \ diff --git a/tests/distlinks.test b/tests/distlinks.test new file mode 100755 index 000000000..41a783da0 --- /dev/null +++ b/tests/distlinks.test @@ -0,0 +1,73 @@ +#! /bin/sh +# Copyright (C) 2010 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 2, 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 . + +# Check that distributed symlinks in the source tree will be expanded +# as regular files in $(distdir). + +. ./defs || Exit 1 + +set -e + +echo text > file + +ln -s file lnk || { + echo "$me: cannot create symlinks to files" >&2 + Exit 77 +} + +mkdir A +mkdir B +echo aaa > A/aaa +cd B +ln -s ../A/aaa bbb +cd .. + +echo FooBarBaz > foo + +ln -s foo bar1 +ln -s bar1 bar2 +ln -s bar2 bar3 + +ln -s "`pwd`/foo" quux + +echo AC_OUTPUT >>configure.in + +echo "me = $me" > Makefile.am # for better failure messages +cat >> Makefile.am << 'END' +EXTRA_DIST = lnk B/bbb bar1 bar2 bar3 quux +.PHONY: test +test: distdir + ls -l $(distdir) $(distdir)/B + fail() { echo "$(me): $$*" >&2; e=1; }; \ + e=0; \ + set file lnk A/aaa B/bbb foo quux foo bar1 foo bar2 foo bar3; \ + while test $$# -ge 2; do \ + file=$$1; shift; link=$(distdir)/$$1; shift; \ + test -f $$link || fail "$$link is not a regular file"; \ + test ! -h $$link || fail "$$link is a symlink"; \ + diff $$file $$link || fail "$$link differs from $$file"; \ + done; \ + exit $$e; +END + +ls -l . A B + +$ACLOCAL +$AUTOCONF +$AUTOMAKE + +./configure +$MAKE test