From ab49d2bc115ba121b00ac06229d4044a004f67e9 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Sun, 18 Nov 2012 01:38:09 +0100 Subject: tests: more explicative names for few aclocal tests * t/aclocal3.sh: Rename ... * t/aclocal-missing-macros.sh: ... like this. * t/aclocal4.sh: Rename ... * t/aclocal-deps.sh: ... like this. * t/aclocal5.sh: Rename ... * t/aclocal-deps-subdir.sh: ... like this. * t/aclocal6.sh: Rename ... * t/aclocal-remake-misc.sh: ... like this. * t/aclocal7.sh: Rename ... * t/aclocal-no-force.sh: ... like this. * t/acloca8.sh: Rename ... * t/aclocal-no-unused-required.sh: ... like this. * t/acloca9.sh: Rename ... * t/aclocal-I-order-1.sh: ... like this. * t/acloca11.sh: Rename ... * t/aclocal-I-order-2.sh: ... like this, and update heading comments. * t/acloca12.sh: Rename ... * t/aclocal-I-order-3.sh: ... like this, and update heading comments. * t/acloca13.sh: Rename ... * t/aclocal-m4-sinclude.sh: ... like this, and update heading comments. * t/acloca14.sh: Rename ... * t/aclocal-m4-include-are-scanned.sh: ... like this. * t/acloca14.sh: Rename ... * t/aclocal-m4-include-are-scanned-aclocal-amflags.sh: ... like this, and update heading comments. * t/acloca15.sh: Rename ... * t/aclocal-scan-configure-ac-pr319.sh: ... like this. * t/acloca16.sh: Rename ... * t/aclocal-no-extra-scan.sh: ... like this, and enhance slightly. * t/acloca18.sh: Rename ... * t/aclocal-serial.sh: ... like this. * t/acloca19.sh: Rename ... * t/aclocal-pr450.sh: ... like this. * t/acloca20.sh: Rename ... * t/aclocal-no-symlinked-overwrite.sh: ... like this. * t/acloca21.sh: Rename ... * t/aclocal-comments-respected.sh: ... like this. * t/acloca22.sh: Rename ... * t/aclocal-deleted-header.sh: ... like this. * t/acloca22b.sh: Rename ... * t/aclocal-deleted-header-aclocal-amflags.sh: ... like this. * t/acloca23.sh: Rename ... * t/aclocal-underquoted-defun.sh: ... like this. * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini --- t/aclocal-no-force.sh | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100755 t/aclocal-no-force.sh (limited to 't/aclocal-no-force.sh') diff --git a/t/aclocal-no-force.sh b/t/aclocal-no-force.sh new file mode 100755 index 000000000..9f246143e --- /dev/null +++ b/t/aclocal-no-force.sh @@ -0,0 +1,117 @@ +#! /bin/sh +# Copyright (C) 2003-2012 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 . + +# Make sure aclocal does not overwrite aclocal.m4 needlessly. +# Also make sure automake --no-force does not overwrite Makefile.in needlessly. + +. test-init.sh + +cat >> configure.ac << 'END' +SOME_DEFS +AC_CONFIG_FILES([sub/Makefile]) +END + +mkdir sub +: > sub/Makefile.am + +cat >> Makefile.am << 'END' +SUBDIRS = sub +include fragment.inc +END + +: > fragment.inc + +mkdir m4 +echo 'AC_DEFUN([SOME_DEFS], [])' > m4/somedefs.m4 + +# Automake will take aclocal.m4 to be newer if it has the same timestamp +# as Makefile.in. Avoid the confusing by sleeping. +AUTOMAKE_after_aclocal () +{ + $sleep + $AUTOMAKE --no-force +} + +# aclocal will rewrite aclocal.m4 unless the input files are all older than the +# existing aclocal.m4 -- sleep to ensure somedefs.m4 has an older timestamp +# than the aclocal.m4 that the next aclocal call will generate. +$sleep + +$ACLOCAL -I m4 +AUTOMAKE_after_aclocal + +touch foo +$sleep +$ACLOCAL -I m4 +AUTOMAKE_after_aclocal +# aclocal.m4 and Makefile.in should not have been updated, so 'foo' +# should be younger +is_newest foo aclocal.m4 Makefile.in sub/Makefile.in + +$sleep +$ACLOCAL -I m4 --force +is_newest aclocal.m4 foo +# We still use --no-force for automake, but since aclocal.m4 has +# changed all Makefile.ins should be updated. +AUTOMAKE_after_aclocal +is_newest Makefile.in aclocal.m4 foo +is_newest sub/Makefile.in aclocal.m4 foo + +$sleep +touch m4/somedefs.m4 +$sleep +$ACLOCAL -I m4 +AUTOMAKE_after_aclocal +# aclocal.m4 should have been updated, although its contents haven't +# changed. +is_newest aclocal.m4 m4/somedefs.m4 +is_newest Makefile.in m4/somedefs.m4 +is_newest sub/Makefile.in m4/somedefs.m4 + +$sleep +touch fragment.inc +$sleep +$ACLOCAL -I m4 +AUTOMAKE_after_aclocal +# Only ./Makefile.in should change. +is_newest Makefile.in fragment.inc +is_newest fragment.inc aclocal.m4 +is_newest fragment.inc sub/Makefile.in + +grep README Makefile.in && exit 1 + +$sleep +: > README +$sleep +$AUTOMAKE --no-force +# Even if no dependency change, the content changed. +is_newest Makefile.in README +is_newest README sub/Makefile.in + +grep README Makefile.in + +: > sub/Makefile.in +$sleep +touch foo +$sleep +$ACLOCAL -I m4 +$AUTOMAKE --no-force +# Only sub/Makefile.in should change. +is_newest foo aclocal.m4 +is_newest foo Makefile.in +is_newest sub/Makefile.in foo + +: -- cgit v1.2.1