Hi,

In automake 1.11.3, the txinfo21 test uses is_newest to compare the
timestamps of main.html (a directory) and main.texi (a file). This
fails, because the find call inside is_newest also finds the files
inside main.html.

Adding -maxdepth 0 to the find invocation fixes this. A patch is
attached, as is a log of it failing without the patch.

Thanks,

-- 
Adam Sampson <a...@offog.org>                         <http://offog.org/>
In txinfo21.test, this function is used to compare a directory's
timestamp with a file's timestamp -- which fails, because it also finds
files inside the directory.

diff -x config.log -x config.status -ru tmp/automake-1.11.3/tests/defs.in 
work/automake-1.11.3/tests/defs.in
--- tmp/automake-1.11.3/tests/defs.in   2012-02-01 10:31:14.000000000 +0000
+++ work/automake-1.11.3/tests/defs.in  2012-02-05 01:14:54.597000973 +0000
@@ -509,7 +509,7 @@
 # Resolve ties in favor of FILE.
 is_newest ()
 {
-  is_newest_files=`find "$@" -newer "$1"`
+  is_newest_files=`find "$@" -maxdepth 0 -newer "$1"`
   test -z "$is_newest_files"
 }
 
FAIL: txinfo21.test (exit: 1)
=============================

/src/devel/automake/work/automake-1.11.3/tests:/gar/bin:/gar/sbin:/gar/bin:/gar/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin
txinfo21: running makeinfo --html --version
makeinfo (GNU texinfo) 4.13

Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
txinfo21: running texi2dvi --version
texi2dvi (GNU Texinfo 4.13) 1.135

Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
=== Running test ./txinfo21.test
++ pwd
/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir
+ set -e
+ cat
+ cat
+ cat
+ mkdir sub
+ cat
+ mkdir rec
+ cat
+ cat
+ aclocal-1.11 -Werror
+ automake-1.11 --foreign -Werror -Wall --add-missing
rec/Makefile.am:1: installing `rec/texinfo.tex'
Makefile.am:2: installing `./texinfo.tex'
+ autoconf -B /no/such/dir
+ ./configure
checking for a BSD-compatible install... /gar/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /gar/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating rec/Makefile
+ make
Making all in rec
make[1]: Entering directory 
`/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/rec'
restore=: && backupdir=".am$$" && \
am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \
rm -rf $backupdir && mkdir $backupdir && \
if (/bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing 
--run makeinfo --version) >/dev/null 2>&1; then \
  for f in main3.info main3.info-[0-9] main3.info-[0-9][0-9] main3.i[0-9] 
main3.i[0-9][0-9]; do \
    if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
  done; \
else :; fi && \
cd "$am__cwd"; \
if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing 
--run makeinfo   -I . \
 -o main3.info main3.texi; \
then \
  rc=0; \
  CDPATH="${ZSH_VERSION+.}:" && cd .; \
else \
  rc=$?; \
  CDPATH="${ZSH_VERSION+.}:" && cd . && \
  $restore $backupdir/* `echo "./main3.info" | sed 's|[^/]*$||'`; \
fi; \
rm -rf $backupdir; exit $rc
make[1]: Leaving directory 
`/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/rec'
make[1]: Entering directory 
`/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir'
restore=: && backupdir=".am$$" && \
am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \
rm -rf $backupdir && mkdir $backupdir && \
if (/bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing 
--run makeinfo --version) >/dev/null 2>&1; then \
  for f in main.info main.info-[0-9] main.info-[0-9][0-9] main.i[0-9] 
main.i[0-9][0-9]; do \
    if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
  done; \
else :; fi && \
cd "$am__cwd"; \
if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing 
--run makeinfo   -I . \
 -o main.info main.texi; \
then \
  rc=0; \
  CDPATH="${ZSH_VERSION+.}:" && cd .; \
else \
  rc=$?; \
  CDPATH="${ZSH_VERSION+.}:" && cd . && \
  $restore $backupdir/* `echo "./main.info" | sed 's|[^/]*$||'`; \
fi; \
rm -rf $backupdir; exit $rc
restore=: && backupdir=".am$$" && \
am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \
rm -rf $backupdir && mkdir $backupdir && \
if (/bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing 
--run makeinfo --version) >/dev/null 2>&1; then \
  for f in sub/main2.info sub/main2.info-[0-9] sub/main2.info-[0-9][0-9] 
sub/main2.i[0-9] sub/main2.i[0-9][0-9]; do \
    if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
  done; \
else :; fi && \
cd "$am__cwd"; \
if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing 
--run makeinfo   -I sub -I ./sub \
 -o sub/main2.info ./sub/main2.texi; \
then \
  rc=0; \
  CDPATH="${ZSH_VERSION+.}:" && cd .; \
else \
  rc=$?; \
  CDPATH="${ZSH_VERSION+.}:" && cd . && \
  $restore $backupdir/* `echo "./sub/main2.info" | sed 's|[^/]*$||'`; \
fi; \
rm -rf $backupdir; exit $rc
make[1]: Leaving directory 
`/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir'
+ sleep 2
+ make html
Making html in rec
make[1]: Entering directory 
`/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/rec'
rm -rf main3.htp
if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing 
--run makeinfo --html   -I . \
 -o main3.htp main3.texi; \
then \
  rm -rf main3.html; \
  if test ! -d main3.htp && test -d main3; then \
    mv main3 main3.html; else mv main3.htp main3.html; fi; \
else \
  if test ! -d main3.htp && test -d main3; then \
    rm -rf main3; else rm -Rf main3.htp main3.html; fi; \
  exit 1; \
fi
make[1]: Leaving directory 
`/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/rec'
make[1]: Entering directory 
`/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir'
rm -rf main.htp
if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing 
--run makeinfo --html   -I . \
 -o main.htp main.texi; \
then \
  rm -rf main.html; \
  if test ! -d main.htp && test -d main; then \
    mv main main.html; else mv main.htp main.html; fi; \
else \
  if test ! -d main.htp && test -d main; then \
    rm -rf main; else rm -Rf main.htp main.html; fi; \
  exit 1; \
fi
rm -rf sub/main2.htp
if /bin/sh /src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir/missing 
--run makeinfo --html   -I sub -I ./sub \
 -o sub/main2.htp `test -f 'sub/main2.texi' || echo './'`sub/main2.texi; \
then \
  rm -rf sub/main2.html; \
  if test ! -d sub/main2.htp && test -d sub/main2; then \
    mv sub/main2 sub/main2.html; else mv sub/main2.htp sub/main2.html; fi; \
else \
  if test ! -d sub/main2.htp && test -d sub/main2; then \
    rm -rf sub/main2; else rm -Rf sub/main2.htp sub/main2.html; fi; \
  exit 1; \
fi
make[1]: Leaving directory 
`/src/devel/automake/work/automake-1.11.3/tests/txinfo21.dir'
+ test -d main.html
+ test -d sub/main2.html
+ test -d rec/main3.html
+ is_newest main.html main.texi
++ find main.html main.texi -newer main.html
+ is_newest_files=main.html/index.html
+ test -z main.html/index.html
+ exit_status=1
+ set +e
+ cd /src/devel/automake/work/automake-1.11.3/tests
+ case $exit_status,$keep_testdirs in
+ test 0 '!=' 0
+ echo 'txinfo21: exit 1'
txinfo21: exit 1
+ exit 1

Reply via email to