From: Stefano Lattarini Date: Sat, 2 Jun 2012 10:29:59 +0000 (+0200) Subject: [ng] maintcheck: avoid spurious failures X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5d053bf0ad047bb461edbaf4cea6d403930f17b;p=thirdparty%2Fautomake.git [ng] maintcheck: avoid spurious failures * t/suffix-custom-link.sh: Rewrite a little to avoid triggering warnings from the 'sc_tests_here_document_format' maintainer check. * syntax-checks.mk (sc_diff_aclocal_in_aclocal, sc_diff_automake_in_automake): Rename ... (sc_diff_aclocal_in_aclocal, sc_diff_automake_in_automake): ... respectively to these, rewrite to use static pattern rules and 'diff -u' instead of bare 'diff', and fix the count of expected differences to account for the removed substitution of '@SHELL@' in automake.in. (syntax_check_rules): Adjust. Signed-off-by: Stefano Lattarini --- diff --git a/syntax-checks.mk b/syntax-checks.mk index a13ce38e6..05036844a 100644 --- a/syntax-checks.mk +++ b/syntax-checks.mk @@ -40,8 +40,8 @@ pms := $(dist_perllib_DATA) # guaranteed to work on my machine. syntax_check_rules = \ $(sc_tests_plain_check_rules) \ -sc_diff_automake_in_automake \ -sc_diff_aclocal_in_aclocal \ +sc_diff_automake \ +sc_diff_aclocal \ sc_perl_syntax \ sc_no_brace_variable_expansions \ sc_rm_minus_f \ @@ -84,21 +84,25 @@ sc_tabs_in_texi \ sc_at_in_texi ## These check avoids accidental configure substitutions in the source. -## There are exactly 9 lines that should be modified from automake.in to +## There are exactly 8 lines that should be modified from automake.in to ## automake, and 10 lines that should be modified from aclocal.in to -## aclocal; these wors out to 32 and 34 lines of diffs, respectively. -sc_diff_automake_in_automake: - @if test `diff $(srcdir)/automake.in automake | wc -l` -ne 32; then \ - echo "found too many diffs between automake.in and automake" 1>&2; \ - diff -c $(srcdir)/automake.in automake; \ - exit 1; \ - fi -sc_diff_aclocal_in_aclocal: - @if test `diff $(srcdir)/aclocal.in aclocal | wc -l` -ne 34; then \ - echo "found too many diffs between aclocal.in and aclocal" 1>&2; \ - diff -c $(srcdir)/aclocal.in aclocal; \ - exit 1; \ - fi +## aclocal. +automake_diff_no = 8 +aclocal_diff_no = 10 +sc_diff_automake sc_diff_aclocal: sc_diff_% : + @set +e; tmp=$*-diffs.tmp; \ + diff -u $(srcdir)/$*.in $* > $$tmp; test $$? -eq 1 || exit 1; \ + added=`grep -v '^+++ ' $$tmp | grep -c '^+'` || exit 1; \ + removed=`grep -v '^--- ' $$tmp | grep -c '^-'` || exit 1; \ + test $$added,$$removed = $($*_diff_no),$($*_diff_no) \ + || { \ + echo "Found unexpected diffs between $*.in and $*"; \ + echo "Lines added: $$added" ; \ + echo "Lines removed: $$removed"; \ + cat $$tmp >&2; \ + exit 1; \ + } >&1; \ + rm -f $$tmp ## Syntax check with default Perl (on my machine, Perl 5). sc_perl_syntax: diff --git a/t/suffix-custom-link.sh b/t/suffix-custom-link.sh index 0b7814f3a..1a3c0134b 100755 --- a/t/suffix-custom-link.sh +++ b/t/suffix-custom-link.sh @@ -28,7 +28,8 @@ END cat > Makefile.am <<'END' %.$(OBJEXT): %.xt - sed -e 's/@/o/g' -e 's/!/;/g' $< >$*-t.cc \ +## Creative quoting to plase maintainer checks. + sed -e 's/@/o/g' -e 's/!/;/g' -e 's/<-/<''$*-t.cc \ && $(CXX) -c $*-t.cc \ && rm -f $*-t.cc \ && mv -f $*-t.$(OBJEXT) $@ @@ -52,7 +53,7 @@ cat > 2.xt <<'END' void say_hell@ (v@id) { using namespace std! - c@ut << "Hell@, W@rld\n" << endl! + c@ut <- "Hell@, W@rld\n" <- endl! } END