* Ralf Wildenhues wrote on Sat, Apr 22, 2006 at 02:00:56PM CEST:

>       * lib/missing: Remove superfluous quotes.  Replace all uses of
>       `[' by `test', for consistency, and for..
>       * tests/missing4.test: ..this new test.
>       * tests/Makefile.am: Update.

D'oh, I started that one before Alexandre's patch to create
missing4.test was in, and forgot to check that now.

Sorry about that, here's an updated version of the second patch.

Cheers,
Ralf
        * lib/missing: Remove superfluous quotes.  Replace all uses of
        `[' by `test', for consistency, and for..
        * tests/missing5.test: ..this new test.
        * tests/Makefile.am: Update.

Index: lib/missing
===================================================================
RCS file: /cvs/automake/automake/lib/missing,v
retrieving revision 1.30
diff -u -r1.30 missing
--- lib/missing 12 Jan 2006 21:11:14 -0000      1.30
+++ lib/missing 22 Apr 2006 12:07:49 -0000
@@ -44,7 +46,7 @@
 
 msg="missing on your system"
 
-case "$1" in
+case $1 in
 --run)
   # Try to run requested program, and just exit if it succeeds.
   run=
@@ -106,7 +109,7 @@
 # Now exit if we have it, but it failed.  Also exit now if we
 # don't have it and --version was passed (most likely to detect
 # the program).
-case "$1" in
+case $1 in
   lex|yacc)
     # Not GNU programs, they don't have --version.
     ;;
@@ -135,7 +138,7 @@
 
 # If it does not exist, or fails to run (possibly an outdated version),
 # try to emulate it.
-case "$1" in
+case $1 in
   aclocal*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
@@ -164,7 +167,7 @@
     test -z "$files" && files="config.h"
     touch_files=
     for f in $files; do
-      case "$f" in
+      case $f in
       *:*) touch_files="$touch_files "`echo "$f" |
                                       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
       *) touch_files="$touch_files $f.in";;
@@ -214,25 +217,25 @@
          in order for those modifications to take effect.  You can get
          \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h
-    if [ $# -ne 1 ]; then
+    if test $# -ne 1; then
         eval LASTARG="\${$#}"
-       case "$LASTARG" in
+       case $LASTARG in
        *.y)
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if [ -f "$SRCFILE" ]; then
+           if test -f "$SRCFILE"; then
                 cp "$SRCFILE" y.tab.c
            fi
            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if [ -f "$SRCFILE" ]; then
+           if test -f "$SRCFILE"; then
                 cp "$SRCFILE" y.tab.h
            fi
          ;;
        esac
     fi
-    if [ ! -f y.tab.h ]; then
+    if test ! -f y.tab.h; then
        echo >y.tab.h
     fi
-    if [ ! -f y.tab.c ]; then
+    if test ! -f y.tab.c; then
        echo 'main() { return 0; }' >y.tab.c
     fi
     ;;
@@ -244,18 +247,18 @@
          in order for those modifications to take effect.  You can get
          \`Flex' from any GNU archive site."
     rm -f lex.yy.c
-    if [ $# -ne 1 ]; then
+    if test $# -ne 1; then
         eval LASTARG="\${$#}"
-       case "$LASTARG" in
+       case $LASTARG in
        *.l)
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if [ -f "$SRCFILE" ]; then
+           if test -f "$SRCFILE"; then
                 cp "$SRCFILE" lex.yy.c
            fi
          ;;
        esac
     fi
-    if [ ! -f lex.yy.c ]; then
+    if test ! -f lex.yy.c; then
        echo 'main() { return 0; }' >lex.yy.c
     fi
     ;;
@@ -322,13 +324,13 @@
     fi
     firstarg="$1"
     if shift; then
-       case "$firstarg" in
+       case $firstarg in
        *o*)
            firstarg=`echo "$firstarg" | sed s/o//`
            tar "$firstarg" "$@" && exit 0
            ;;
        esac
-       case "$firstarg" in
+       case $firstarg in
        *h*)
            firstarg=`echo "$firstarg" | sed s/h//`
            tar "$firstarg" "$@" && exit 0
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.603
diff -u -r1.603 Makefile.am
--- tests/Makefile.am   21 Apr 2006 19:02:29 -0000      1.603
+++ tests/Makefile.am   22 Apr 2006 12:07:50 -0000
@@ -358,6 +358,7 @@
 missing2.test \
 missing3.test \
 missing4.test \
+missing5.test \
 mkinstall.test \
 mkinst2.test \
 mkinst3.test \
--- /dev/null   2006-04-22 14:16:50.823007744 +0200
+++ tests/missing5.test 2006-04-22 13:51:28.000000000 +0200
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Copyright (C) 2006  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake 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.
+#
+# GNU Automake 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 Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# test how well `missing' finds output file names of various tools.
+# PR automake/483.
+
+. ./defs || exit 1
+
+set -e
+
+# these programs may be invoked by `missing'
+needed_tools='chmod find sed test touch'
+needed_tools_csep=`echo $needed_tools | sed 's/ /, /g'`
+
+cat >configure.in <<EOF
+AC_INIT([missing4], [1.0])
+m4_foreach([tool], [$needed_tools_csep],
+          [AC_PATH_PROG(tool, tool, [false])
+           AC_CONFIG_FILES(tool, chmod +x tool)
+          ])
+AC_OUTPUT
+EOF
+
+for tool in $needed_tools; do
+  cat >$tool.in <<EOF
+#! /bin/sh
+exec @$tool@ "\$@"
+EOF
+done
+
+$AUTOCONF
+./configure
+
+echo output-file > output-file
+cp output-file my--output--file-o
+
+save_PATH=$PATH
+PATH=.
+export PATH
+missing --help
+missing --version
+for tool in autom4te help2man makeinfo; do
+  missing --run $tool -o my--output--file-o input
+  missing --run $tool --output my--output--file-o input
+done
+PATH=$save_PATH
+export PATH
+diff output-file my--output--file-o
+test ! -f ./--file-o
+test ! -f input

Reply via email to