automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FYI] {master} tests: merge two tests on silent-rules with libtool


From: Stefano Lattarini
Subject: [FYI] {master} tests: merge two tests on silent-rules with libtool
Date: Wed, 7 Nov 2012 20:08:04 +0100

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 <http://www.gnu.org/licenses/>.

  -# 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 <address@hidden>
---
 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 <http://www.gnu.org/licenses/>.
-
-# 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
-
-:
-- 
1.8.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]