From 7dbf3d6acb8d3281140cb7958c4937d33e3e53ef Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Wed, 7 Nov 2012 19:56:24 +0100 Subject: [PATCH] tests: merge two tests on silent-rules with libtool This helps to reduce code duplication, and also to (marginally) speed up the involved tests. Before this change, we had: $ diff -u t/silent3.sh t/silent9.sh --- t/silent3.sh 2012-11-07 19:38:05.000000000 +0100 +++ t/silent9.sh 2012-11-07 19:27:54.000000000 +0100 @@ -14,9 +14,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Check silent-rules mode, with libtool, standard depmode case. +# Check silent-rules mode, with libtool, nodep case. -# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'. +# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'. required='cc libtoolize' . test-init.sh @@ -26,8 +26,8 @@ cat >>configure.ac <<'EOF' AC_CONFIG_FILES([sub/Makefile]) AC_PROG_CC -AM_PROG_AR AM_PROG_CC_C_O +AM_PROG_AR AC_PROG_LIBTOOL AC_OUTPUT EOF @@ -61,7 +61,7 @@ $AUTOMAKE --add-missing $AUTOCONF -./configure --enable-silent-rules +./configure --disable-dependency-tracking --enable-silent-rules $MAKE >stdout || { cat stdout; exit 1; } cat stdout $EGREP ' (-c|-o)' stdout && exit 1 * t/silent9.sh: Remove, merge ... * t/silent3.sh: ... in here. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini --- t/list-of-tests.mk | 1 - t/silent3.sh | 53 ++++++++++++++++++++------------- t/silent9.sh | 86 ------------------------------------------------------ 3 files changed, 32 insertions(+), 108 deletions(-) delete mode 100755 t/silent9.sh diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 57d2714..890d547 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -973,7 +973,6 @@ t/silent4.sh \ t/silent6.sh \ t/silent7.sh \ t/silent8.sh \ -t/silent9.sh \ t/silentcxx.sh \ t/silentcxx-gcc.sh \ t/silentf77.sh \ diff --git a/t/silent3.sh b/t/silent3.sh index 9c3ed5d..6f58d04 100755 --- a/t/silent3.sh +++ b/t/silent3.sh @@ -61,26 +61,37 @@ $ACLOCAL $AUTOMAKE --add-missing $AUTOCONF -./configure --enable-silent-rules -$MAKE >stdout || { cat stdout; exit 1; } -cat stdout -$EGREP ' (-c|-o)' stdout && exit 1 -grep 'mv ' stdout && exit 1 -grep ' CC .*foo\.' stdout -grep ' CC .*bar\.' stdout -grep ' CC .*baz\.' stdout -grep ' CC .*bla\.' stdout -grep ' CCLD .*foo' stdout -grep ' CCLD .*bar' stdout -grep ' CCLD .*baz' stdout -grep ' CCLD .*bla' stdout - -$MAKE clean -$MAKE V=1 >stdout || { cat stdout; exit 1; } -cat stdout -grep ' -c' stdout -grep ' -o libfoo' stdout -# The libtool command line can contain e.g. a '--tag=CC' option. -sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && exit 1 +for config_args in \ + '--enable-dependency-tracking' \ + '--disable-dependency-tracking' \ +; do + + ./configure --enable-silent-rules $config_args + + $MAKE >stdout || { cat stdout; exit 1; } + cat stdout + + $EGREP ' (-c|-o)' stdout && exit 1 + grep 'mv ' stdout && exit 1 + grep ' CC .*foo\.' stdout + grep ' CC .*bar\.' stdout + grep ' CC .*baz\.' stdout + grep ' CC .*bla\.' stdout + grep ' CCLD .*foo' stdout + grep ' CCLD .*bar' stdout + grep ' CCLD .*baz' stdout + grep ' CCLD .*bla' stdout + + $MAKE clean + $MAKE V=1 >stdout || { cat stdout; exit 1; } + cat stdout + grep ' -c' stdout + grep ' -o libfoo' stdout + # The libtool command line can contain e.g. a '--tag=CC' option. + sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && exit 1 + + $MAKE distclean + +done : diff --git a/t/silent9.sh b/t/silent9.sh deleted file mode 100755 index 4ffb4b6..0000000 --- a/t/silent9.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/sh -# Copyright (C) 2009-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 . - -# Check silent-rules mode, with libtool, nodep case. - -# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'. - -required='cc libtoolize' -. test-init.sh - -mkdir sub - -cat >>configure.ac <<'EOF' -AC_CONFIG_FILES([sub/Makefile]) -AC_PROG_CC -AM_PROG_CC_C_O -AM_PROG_AR -AC_PROG_LIBTOOL -AC_OUTPUT -EOF - -cat > Makefile.am <<'EOF' -# Need generic and non-generic rules. -lib_LTLIBRARIES = libfoo.la libbar.la -libbar_la_CFLAGS = $(AM_CFLAGS) -SUBDIRS = sub -EOF - -cat > sub/Makefile.am <<'EOF' -AUTOMAKE_OPTIONS = subdir-objects -# Need generic and non-generic rules. -lib_LTLIBRARIES = libbaz.la libbla.la -libbla_la_CFLAGS = $(AM_CFLAGS) -EOF - -cat > libfoo.c <<'EOF' -int main () -{ - return 0; -} -EOF -cp libfoo.c libbar.c -cp libfoo.c sub/libbaz.c -cp libfoo.c sub/libbla.c - -libtoolize -$ACLOCAL -$AUTOMAKE --add-missing -$AUTOCONF - -./configure --disable-dependency-tracking --enable-silent-rules -$MAKE >stdout || { cat stdout; exit 1; } -cat stdout -$EGREP ' (-c|-o)' stdout && exit 1 -grep 'mv ' stdout && exit 1 -grep ' CC .*foo\.' stdout -grep ' CC .*bar\.' stdout -grep ' CC .*baz\.' stdout -grep ' CC .*bla\.' stdout -grep ' CCLD .*foo' stdout -grep ' CCLD .*bar' stdout -grep ' CCLD .*baz' stdout -grep ' CCLD .*bla' stdout - -$MAKE clean -$MAKE V=1 >stdout || { cat stdout; exit 1; } -cat stdout -grep ' -c' stdout -grep ' -o libfoo' stdout -# The libtool command line can contain e.g. a '--tag=CC' option. -sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && exit 1 - -: -- 2.7.4