+2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ testsuite: use `skip_' for skipping of tests
+ * tests/defs: Use the `skip_' subroutine for test skipping. Also
+ give sometimes more detailed messages about the reasons for the
+ skipping.
+ * tests/canon7.test: Likewise.
+ * tests/color.test: Likewise.
+ * tests/color2.test: Likewise.
+ * tests/compile2.test: Likewise.
+ * tests/dejagnu7.test: Likewise.
+ * tests/depcomp6.test: Likewise.
+ * tests/depcomp9.test: Likewise.
+ * tests/depcomp10.test: Likewise.
+ * tests/distlinks.test: Likewise.
+ * tests/distlinksbrk.test: Likewise.
+ * tests/fn99.test: Likewise.
+ * tests/fn99subdir.test: Likewise.
+ * tests/forcemiss2.test: Likewise.
+ * tests/fort5.test: Likewise.
+ * tests/gettext3.test: Likewise.
+ * tests/install2.test: Likewise.
+ * tests/instfail-info.test: Likewise.
+ * tests/instfail-java.test: Likewise.
+ * tests/instfail-libtool.test: Likewise.
+ * tests/instfail.test: Likewise.
+ * tests/instmany-mans.test: Likewise.
+ * tests/instmany-python.test: Likewise.
+ * tests/instmany.test: Likewise.
+ * tests/instsh3.test: Likewise.
+ * tests/ltinit.test: Likewise.
+ * tests/makej2.test: Likewise.
+ * tests/mdate6.test: Likewise.
+ * tests/mkinst3.test: Likewise.
+ * tests/parallel-tests3.test: Likewise.
+ * tests/parallel-tests-reset-term.test: Likewise.
+ * tests/parallel-tests-unreadable-log.test: Likewise,
+ * tests/python-virtualenv.test: Likewise.
+ * tests/remake-gnulib-remove-header.test: Likewise.
+ * tests/subobj9.test: Likewise.
+ * tests/symlink2.test: Likewise.
+ * tests/tar.test: Likewise.
+ * tests/tar2.test: Likewise.
+ * tests/txinfo26.test: Likewise.
+ * tests/vala2.test: Likewise.
+ * tests/vala3.test: Likewise.
+ * tests/vala5.test: Likewise.
+ * tests/vtexi4.test: Likewise.
+ * tests/instdir-texi.test: Likewise.
+ * tests/txinfo21.test: Likewise.
+
2011-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: more environment sanitization
AC_OUTPUT
END
-touch ,foo-bar libb.az+baz lib~zardoz,, || Exit 77
-rm -f ,foo-bar libb.az+baz lib~zardoz,,
+if touch ,foo-bar libb.az+baz lib~zardoz,,; then
+ rm -f ,foo-bar libb.az+baz lib~zardoz,,
+else
+ skip_ "cannot create regular files with \"tricky\" names"
+fi
cat > Makefile.am << 'END'
noinst_PROGRAMS = dummy_static dummy_dynamic ,foo-bar
# GNU or BSD 'grep -a' works on files, but is not portable.
case `echo "$std" | grep .` in
"$std") ;;
- *) echo "$me: grep can't parse nonprinting characters" >&2; Exit 77;;
+ *) skip_ "grep can't parse nonprinting characters";;
esac
cat >>configure.in <<END
# GNU or BSD 'grep -a' works on files, but is not portable.
case `echo "$std" | grep .` in
"$std") ;;
- *) echo "$me: grep can't parse nonprinting characters" >&2; Exit 77;;
+ *) skip_ "grep can't parse nonprinting characters";;
esac
# Check that we have a working expect program.
spawn $env(THE_SYSTEM_SHELL) -c :
expect eof
END
-THE_SYSTEM_SHELL=/bin/sh expect -f expect-check || {
- echo "$me: failed to find a working expect program" >&2
- Exit 77
-}
+THE_SYSTEM_SHELL=/bin/sh expect -f expect-check \
+ || skip_ "$me: failed to find a working expect program"
# Do the tests.
# Absolute w32 paths should be accepted.
# Do not actually run this test on anything that could be w32.
-test -d "C:\\" && Exit 77
-case $PATH_SEPARATOR in ';'|':');; *) Exit 77;; esac
+if test -d 'C:\'; then
+ skip_ "this test shouldn't run on a win32-like system"
+fi
+case $PATH_SEPARATOR in
+ ';'|':');;
+ *) skip_ "unrecognized PATH separator \`$PATH_SEPARATOR'"
+esac
amtest_source='C:\libltdl\libltdl\slist.c'
amtest_object='C:\libltdl\libltdl\libltdl_libltdl_la-slist.obj'
bzip2)
# Do not use --version, bzip2 still tries to compress stdin.
echo "$me: running bzip2 --help"
- bzip2 --help || exit 77
+ bzip2 --help \
+ || skip_ "required program \`bzip2' not available"
;;
cl)
CC=cl
export CC
echo "$me: running $CC -?"
- $CC -? || exit 77
+ $CC -? || skip_ "Microsoft C compiler \`$CC' not available"
;;
cscope)
# Sun cscope is interactive without redirection.
echo "$me: running cscope --version </dev/null"
- cscope --version </dev/null || exit 77
+ cscope --version </dev/null \
+ || skip_ "required program \`cscope' not available"
;;
etags)
# Exuberant Ctags will create a TAGS file even
# does not have such problem.) Use -o /dev/null
# to make sure we do not pollute the tests/ directory.
echo "$me: running etags --version -o /dev/null"
- etags --version -o /dev/null || exit 77
+ etags --version -o /dev/null \
+ || skip_ "required program \`etags' not available"
;;
GNUmake)
echo "$me: determine if $MAKE is GNU make"
- using_gmake || exit 77
+ using_gmake || skip_ "this test requires GNU make"
;;
gcc)
# When gcc is required, export `CC=gcc' so that ./configure
CC=gcc
export CC
echo "$me: running $CC --version"
- $CC --version || exit 77
+ $CC --version || skip_ "GNU C compiler not available"
echo "$me: running $CC -v"
- $CC -v || exit 77
+ $CC -v || skip_ "botched installation for GNU C compiler"
;;
gcj)
GCJ=gcj
export GCJ
echo "$me: running $GCJ --version"
- $GCJ --version || exit 77
+ $GCJ --version || skip_ "GNU Java compiler not available"
echo "$me: running $GCJ -v"
- $GCJ -v || exit 77
+ $GCJ -v || skip_ "botched installation for GNU Java compiler"
;;
g++)
CXX=g++
export CXX
echo "$me: running $CXX --version"
- $CXX --version || exit 77
+ $CXX --version || skip_ "GNU C++ compiler not available"
echo "$me: running $CXX -v"
- $CXX -v || exit 77
+ $CXX -v || skip_ "botched installation for GNU C++ compiler"
;;
icc)
CC=icc
# it will try link *nothing* and complain it cannot find
# main(); funny). Use -help so it does not try linking anything.
echo "$me: running $CC -V -help"
- $CC -V -help || exit 77
+ $CC -V -help || skip_ "Intel C compiler \`$CC' not available"
;;
javac)
# The Java compiler from JDK 1.5 (and presumably earlier versions)
# telling that source files are missing. Adding also the `-help'
# option seems to solve the problem.
echo "$me: running javac -version -help"
- javac -version -help || exit 77
+ javac -version -help || skip_ "Sun Java compiler not available"
;;
makedepend)
echo "$me: running makedepend -f-"
- makedepend -f- || exit 77
+ makedepend -f- \
+ || skip_ "required program \`makedepend' not available"
;;
makeinfo-html)
- # Make sure makeinfo understands --html.
+ # Make sure we have makeinfo, and it understands `--html'.
echo "$me: running makeinfo --html --version"
- makeinfo --html --version || exit 77
+ makeinfo --html --version \
+ || skip_ "cannot find a makeinfo program that groks the" \
+ "\`--html' option"
;;
non-root)
# Skip this test case if the user is root.
overwrite_status=$?
rm -f $priv_check_temp
if test $overwrite_status -eq 0; then
- echo "$me: cannot drop file write permissions" >&2
- exit 77
+ skip_ "cannot drop file write permissions"
fi
unset priv_check_temp overwrite_status
;;
perl-threads)
if test "$WANT_NO_THREADS" = "yes"; then
- echo "$me: skip with Devel::Cover: cannot cope with threads" >&2
- exit 77
+ skip_ "Devel::Cover cannot cope with threads"
fi
;;
python)
# Python doesn't support --version, it has -V
echo "$me: running python -V"
- python -V || exit 77
+ python -V || skip_ "python interpreter not available"
;;
ro-dir)
# Skip this test case if read-only directories aren't supported
create_status=$?
rm -rf $ro_dir_temp
if test $create_status -eq 0; then
- echo "$me: cannot drop directory write permissions" >&2
- exit 77
+ skip_ "cannot drop directory write permissions"
fi
unset ro_dir_temp create_status
;;
echo "$me: running $r2h --version"
$r2h --version && break 2
done
- echo "$me: no proper rst2html program found" >&2
- exit 77
+ skip_ "no proper rst2html program found"
done
unset r2h
;;
# the program on the runtest command-line. This requires
# DejaGnu 1.4.3 or later.
echo "$me: running runtest SOMEPROGRAM=someprogram --version"
- runtest SOMEPROGRAM=someprogram --version || exit 77
+ runtest SOMEPROGRAM=someprogram --version \
+ || skip_ "DejaGnu is not available"
;;
tex)
# No all versions of Tex support `--version', so we use
# a configure check.
if test -z "$TEX"; then
- echo "$me: TeX is required, but it wasn't found by configure" >&2
- exit 77
+ skip_ "TeX is required, but it wasn't found by configure"
fi
;;
texi2dvi-o)
# Texi2dvi supports `-o' since Texinfo 4.1.
echo "$me: running texi2dvi -o /dev/null --version"
- texi2dvi -o /dev/null --version || exit 77
+ texi2dvi -o /dev/null --version \
+ || skip_ "required program \`texi2dvi' not available"
;;
xsi-shell)
# Try some XSI features.
test "${_am_dummy##*/},${_am_dummy%/*},${_am_dummy#??}"${_am_dummy%"$_am_dummy"}, \
= c,a/b,b/c, \
&& eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_am_dummy}" -eq 5' ) || exit 77
+ && test "${#_am_dummy}" -eq 5' ) \
+ || skip_ "the shell lacks some required XSI features"
;;
yacc)
if test x"$YACC" = x"no"; then
# The user has explicitly told he doesn't want a yacc program
# to be used.
- echo "$me: \$YACC is \"no\", skipping test" >&2
- exit 77
+ skip_ "$me: \$YACC is \"no\", skipping test"
elif test -z "$YACC"; then
# The user hasn't explicitly specified any yacc program in the
# environment, so we try to use bison, skipping the test if it's
YACC='bison -y'
export YACC
echo "$me: running bison --version"
- bison --version || exit 77
+ bison --version || skip_ "required program \`bison' not available"
fi
;;
*)
# It is not likely but possible that $tool is a special builtin,
# in which case the shell is allowed to exit after an error.
# So, please leave the subshell here.
- ( $tool --version ) || exit 77
+ ($tool --version) || skip_ "required program \`$tool' not available"
;;
esac
done
*\ *|*\ *)
case " $required " in
*' libtool '* | *' libtoolize '* )
- echo "$me: libtool/libtoolized cannot cope correctly" >&2
- echo "$me: with spaces in the build tree" >&2
- exit 77
- ;;
+ skip_ "libtool and libtoolize cannot cope correctly" \
+ "with spaces in the build tree";;
esac
;;
esac
*\ * |*\ *)
case " $required " in
*' libtool '* | *' libtoolize '* | *' gettext '* )
- echo "$me: our testsuite setup cannot cope correctly with spaces" >&2
- echo "$me: in the source tree for libtool/gettext tests" >&2
- exit 77
- ;;
+ skip_ "our testsuite setup cannot cope with spaces in the" \
+ "source tree name for libtool/gettext tests.";;
esac
;;
esac
case " $required " in
*' libtool '*|*' libtoolize '*)
if test $libtool_found != yes; then
- echo "$me: libtool/libtoolize is required, but libtool.m4 wasn't" >&2
- echo "$me: found in directories $aclocaldir $extra_includes" >&2
- exit 77
+ skip_ "libtool is required, but libtool.m4 wasn't found in" \
+ "directories $aclocaldir $extra_includes"
fi
;;
*' gettext '*)
if test $gettext_found != yes; then
- echo "$me: gettext is required, but gettext.m4 wasn't found" >&2
- echo "$me: in directories $aclocaldir $extra_includes" >&2
- exit 77
+ skip_ "gettext is required, but gettext.m4 wasn't found in" \
+ "directories $aclocaldir $extra_includes"
fi
;;
esac
required=runtest
. ./defs || Exit 1
-# Check whether DejaGnu supports --status
-runtest --help | grep '.*--status' || Exit 77
+runtest --help | grep '.*--status' \
+ || skip_ "dejagnu lacks support for '--status'"
cat > failtcl << 'END'
#! /bin/sh
../configure am_cv_CC_dependencies_compiler_type=hp
# Do not error out with the first make, as the forced 'hp' depmode might
# not actually work, but we have overridden the _AM_DEPENDENCIES tests.
-$MAKE || Exit 77
+$MAKE || skip_ "forced depmode doesn't work"
# We must clean and rebuild, as the actual error only happens the second
# time the objects are built because 'depcomp' has silently messed up the
./configure --enable-dependency-tracking
$MAKE
-# Check that dependency tracking works.
if grep 'depmode=none' Makefile; then
- Exit 77
+ skip_ "automatic dependency tracking couldn't be activated"
fi
cd sub2
# Do not error out with the first make, as the forced 'makedepend'
# depmode might not actually work, but we have overridden the
# _AM_DEPENDENCIES tests.
-$MAKE || Exit 77
+$MAKE || skip_ "forced depmode doesn't work"
# We must clean and rebuild, as the actual error only happens the second
# time the objects are built because 'makedepend' has silently messed up
echo text > file
-ln -s file lnk || {
- echo "$me: cannot create symlinks to files" >&2
- Exit 77
-}
+ln -s file lnk || skip_ "cannot create symlinks to files"
mkdir A
mkdir B
lnka=${lnk_base}__aaa
lnkb=${lnk_base}__bbb
-ln -s nonesuch $lnk1 || {
- echo "$me: cannot create broken symlinks" >&2
- Exit 77
-}
+ln -s nonesuch $lnk1 || skip_ "cannot create broken symlinks"
ln -s "`pwd`/nonesuch" $lnk2
EXTRA_DIST = 12345678
END
-(for i in 1 2 3 4 5 6 7 8 9
-do
- mkdir -p 12345678 || Exit 77
- cd 12345678
- touch x
-done) || Exit 77
+(for i in 1 2 3 4 5 6 7 8 9; do
+ mkdir -p 12345678 && cd 12345678 && touch x || Exit 1
+done) || skip_ "failed to create deep directory hierarchy"
# AIX 5.3 `cp -R' is too buggy for `make dist'.
-cp -R 12345678 t || Exit 77
+cp -R 12345678 t \
+ || skip_ "'cp -R' failed to copy deep directory hierarchy"
$ACLOCAL
$AUTOCONF
./configure
$MAKE distcheck
-(for i in 1 2 3 4 5 6 7 8 9 10 11
-do
- mkdir -p 12345678 || Exit 77
- cd 12345678
- touch x
-done) || Exit 77
+(for i in 1 2 3 4 5 6 7 8 9 10 11; do
+ mkdir -p 12345678 && cd 12345678 && touch x || Exit 1
+done) || skip_ "failed to create deeper directory hierarchy"
$MAKE dist 2>stderr && { cat stderr >&2; Exit 1; }
cat stderr >&2
grep 'filenames are too long' stderr
test 2 = `grep 12345678 stderr | wc -l`
+
:
EXTRA_DIST = 12345678
END
-(cd ${subdirname}; for i in 1 2 3 4 5 6 7 8
-do
- mkdir -p 12345678 || Exit 77
- cd 12345678
- touch x
-done)
+(cd ${subdirname} || Exit 1
+for i in 1 2 3 4 5 6 7 8; do
+ mkdir -p 12345678 && cd 12345678 && touch x || Exit 1
+done) || skip_ "failed to create deep directory hierarchy"
# AIX 5.3 `cp -R' is too buggy for `make dist'.
-cp -R ${subdirname} t || Exit 77
+cp -R ${subdirname} t \
+ || skip_ "'cp -R' failed to copy deep directory hierarchy"
for init_dir in ${subdirname} .; do
(
./configure
$MAKE distcheck
-(cd ${subdirname}; for i in 1 2 3 4 5 6 7 8 9
-do
- mkdir -p 12345678 || Exit 77
- cd 12345678
- touch x
-done)
+(cd ${subdirname} || Exit 1
+for i in 1 2 3 4 5 6 7 8 9; do
+ mkdir -p 12345678 && cd 12345678 && touch x || Exit 1
+done) || skip_ "failed to create deeper directory hierarchy"
$MAKE dist 2>stderr && { cat stderr >&2; Exit 1; }
cat stderr >&2
grep 'filenames are too long' stderr
test 1 = `grep 12345678 stderr | wc -l`
+
:
echo zot > foo
cp foo foo2
-ln -s foo2 install-sh || {
- echo "$me: cannot create symlinks to files" >&2
- Exit 77
-}
+ln -s foo2 install-sh || skip_ "cannot create symlinks to files"
: > Makefile.am
$AUTOCONF
# This test requires Libtool >= 2.0. Earlier Libtool does not
-# have the LT_PREREQ macro to cause autoconf failure, so let's
-# skip in this case:
-grep LT_PREREQ configure && Exit 77
+# have the LT_PREREQ macro to cause autoconf failure.
+grep LT_PREREQ configure && skip_ "libtool is too old (probably < 2.0)"
# Ensure we use --tag for f90, too.
grep " --tag=FC" Makefile.in
-# configure may Exit 77 if no compiler is found,
+# configure may exit with status 77 if no compiler is found,
# or if the compiler cannot compile Fortran 90 files).
./configure
$MAKE
# if aclocal fails, assume the gettext macros are too old and do not
# define AM_GNU_GETTEXT_INTL_SUBDIR.
-$ACLOCAL || Exit 77
+$ACLOCAL || skip_ "your gettext macros are probably too old"
# config.rpath is required.
: >config.rpath
chmod 000 Makefile.am
# On some systems (like DOS and Windows), files are always readable.
-test ! -r Makefile.am || Exit 77
+test ! -r Makefile.am || skip_ "cannot drop file read permissions"
./configure
required='makeinfo-html tex texi2dvi'
. ./defs || Exit 1
-dvips --help || Exit 77
-pdfetex --help || pdftex --help || Exit 77
+dvips --help \
+ || skip_ "dvips is missing"
+pdfetex --version || pdftex --version \
+ || skip_ "pdeftex and pdftex are both missing"
cat >>configure.in <<'END'
AC_OUTPUT
for file in info1.info
do
chmod a-r $file
- test ! -r $file || Exit 77
+ test ! -r $file || skip_ "cannot drop file read permissions"
$MAKE install-data && Exit 1
chmod u+r $file
done
for file in java1.class
do
chmod a-r $file
- test ! -r $file || Exit 77
+ test ! -r $file || skip_ "cannot drop file read permissions"
$MAKE install-data && Exit 1
chmod u+r $file
done
for file in liblt1.la libltn1.la
do
chmod a-r $file
- test ! -r $file || Exit 77
+ test ! -r $file || skip_ "cannot drop file read permissions"
$MAKE install-exec && Exit 1
chmod u+r $file
done
for file in lib1.a libn1.a
do
chmod a-r $file
- test ! -r $file || Exit 77
+ test ! -r $file || skip_ "cannot drop file read permissions"
$MAKE install-exec && Exit 1
chmod u+r $file
done
for file in page3.1 page$nfiles.1 npage3.1 npage$nfiles.1; do
chmod a-r $srcdir/$file
- test ! -r $srcdir/$file || Exit 77
+ test ! -r $srcdir/$file || skip_ "cannot drop file read permissions"
$MAKE install-man1 && Exit 1
chmod u+r $srcdir/$file
done
for file in python3.py python$nfiles.py
do
chmod a-r $srcdir/$file
- test ! -r $srcdir/$file || Exit 77
+ test ! -r $srcdir/$file || skip_ "cannot drop file read permissions"
$MAKE install && Exit 1
chmod u+r $srcdir/$file
done
for file in script3 script$nfiles
do
chmod a-r $srcdir/$file
- test ! -r $srcdir/$file || Exit 77
+ test ! -r $srcdir/$file || skip_ "cannot drop file read permissions"
$MAKE install-binSCRIPTS && Exit 1
chmod u+r $srcdir/$file
done
required=non-root
. ./defs || Exit 1
+
# Solaris /usr/ucb/touch does not accept -t.
-touch -t $old_timestamp foo || Exit 77
+touch -t $old_timestamp foo \
+ || skip_ "touch utility doesn't accept '-t' option"
./install-sh -d d1
libtoolize
# Skip if older libtool (pre-2.0) is used.
{ $ACLOCAL && $AUTOCONF; } || {
- if test $? -eq 63; then Exit 77; else Exit 1; fi
+ if test $? -eq 63; then
+ skip_ "libtool is too old (probably < 2.0)"
+ else
+ Exit 1
+ fi
}
$EGREP 'LT_(INIT|PREREQ)' configure && Exit 1 # Sanity check.
$AUTOMAKE -a
cd build
../configure "--prefix=`pwd`/inst"
-$MAKE -j2 || Exit 77
+$MAKE -j2 || skip_ "$MAKE failed to run with two parallel jobs"
$MAKE -j2 distcheck
$MAKE test-distdir-removed
a=
file='file name $a'
-( : > "$file" ) || Exit 77
+( : > "$file" ) \
+ || skip_ "file name with spaces and metacharacters not accepted"
cp "$top_testsrcdir/lib/mdate-sh" .
$SHELL ./mdate-sh "$file" >stdout 2>stderr ||
. ./defs || Exit 1
# Make sure the directory we will create can be created...
-mkdir '~a b' || Exit 77
-mkdir '~a b/-x y' || Exit 77
+mkdir '~a b' && mkdir '~a b/-x y' \
+ || skip_ "directory names with spaces and metacharacters not accepted"
rm -rf '~a b'
cp "$top_testsrcdir/lib/mkinstalldirs" .
# GNU or BSD 'grep -a' works on files, but is not portable.
case `echo "$esc" | $FGREP "$esc"` in
"$esc") ;;
- *) echo "$me: $FGREP can't parse nonprinting characters" >&2; Exit 77;;
+ *) skip_ "$FGREP can't parse nonprinting characters" ;;
esac
cat >> configure.in << 'END'
$MAKE foo.log
$MAKE bar.log
chmod a-r foo.log bar.log
-test ! -r foo.log || Exit 77
+test ! -r foo.log || skip_ "cannot drop file read permissions"
$MAKE test-suite.log >stdout && { cat stdout; Exit 1; }
cat stdout
grep '^2 of 2 tests failed *$' stdout
required=GNUmake
. ./defs || Exit 1
-# This test does not work well if $MAKE contains -j.
case $MAKE in
-*\ -j*) Exit 77 ;;
+ *\ -j*) skip_ "this test does not work well if \$MAKE contains \`-j'";;
esac
cat >> configure.in << 'END'
CONFIG_SITE=/dev/null; export CONFIG_SITE
# Skip the test if a proper virtualenv cannot be created.
-virtualenv --verbose virtenv || Exit 77
-test -f virtenv/bin/activate || Exit 77
+virtualenv --verbose virtenv \
+ || skip_ "virtualenv program not found"
+test -f virtenv/bin/activate \
+ || skip_ "creation of python virtual environment failed"
# Activate the virtualenv.
. ./virtenv/bin/activate
# Do not reject slow dependency extractors: we need dependency tracking.
$srcdir/configure --enable-dependency-tracking
- # Skip the test if dependency tracking couldn't be activated.
- $FGREP 'depmode=none' Makefile && Exit 77
+ if $FGREP 'depmode=none' Makefile; then
+ skip_ "automatic dependency tracking couldn't be activated"
+ fi
$MAKE
ls -l
$AUTOMAKE -a
# Skip this test on configure errors (e.g., broken C++ compilers).
-./configure || Exit 77
+./configure || skip_ "configure failure"
# Ensure './libtool --help' will use the right tool versions.
export AUTOCONF AUTOMAKE
. ./defs || Exit 1
rm -f install-sh
-ln -s Zardoz install-sh || {
- echo "$me: cannot create broken symlinks" >&2
- Exit 77
-}
+ln -s Zardoz install-sh || skip_ "cannot create broken symlinks"
: > Makefile.am
$AUTOMAKE
./configure
-grep 'am__tar.*false' Makefile && Exit 77
+if grep 'am__tar.*false' Makefile; then
+ skip_ "cannot find proper archiver program"
+fi
$MAKE distcheck
test -f tar-1.0.tar.gz
$AUTOMAKE
./configure
-grep 'am__tar.*false' Makefile && Exit 77
+if grep 'am__tar.*false' Makefile; then
+ skip_ "cannot find proper archiver program"
+fi
$MAKE distcheck
test -f tar2-1.0.tar.gz
test ! -f share/txinfo21/dvi/main2.dvi
test ! -f share/txinfo21/dvi/main3.dvi
-(dvips --help 2>/dev/null >/dev/null) || Exit 77
+dvips --help || skip_ "dvips is missing"
$MAKE install-ps
test -f share/txinfo21/ps/main.ps
test ! -f share/txinfo21/ps/main2.ps
test ! -f share/txinfo21/ps/main3.ps
-(pdfetex --help 2>/dev/null >/dev/null) ||
- (pdftex --help 2>/dev/null >/dev/null) || Exit 77
+pdfetex --help || pdftex --help \
+ || skip_ "pdftex and pdfetex are both missing"
$MAKE install-pdf
test -f share/txinfo21/pdf/main.pdf
$MAKE
$MAKE distclean
-# We do not require this to work with a directory that contains white space.
case `pwd` in
- *\ * | *\ *) Exit 77;;
+ *\ * | *\ *)
+ skip_ "this test might fail in a directory containing white spaces";;
esac
mkdir build
$AUTOCONF
$AUTOMAKE -a
-./configure || Exit 77
+./configure || skip_ "configure failure"
$MAKE
# test rebuild rules
$AUTOCONF
$AUTOMAKE -a
-./configure || Exit 77
+./configure || skip_ "configure failure"
$MAKE
$MAKE distcheck
$MAKE distclean
$AUTOCONF
$AUTOMAKE -a
-./configure || Exit 77
+./configure || skip_ "configure failure"
$MAKE
$MAKE distcheck
$MAKE distclean
$AUTOCONF
$AUTOMAKE -a
-./configure || Exit 77
+./configure || skip_ "configuration step failure"
$MAKE
+:
&& day=`LC_ALL=C date '+%d'` && test -n "$day" \
&& month=`LC_ALL=C date '+%B'` && test -n "$month" \
&& year=`LC_ALL=C date '+%Y'`&& test -n "$year" \
- || { echo "$me: 'date' is not POSIX-compliant enough"; Exit 77; }
+ || skip_ "'date' is not POSIX-compliant enough"
day=`echo "$day" | sed 's/^0//'`
-# This test requires a grep program that can work on non-text input.
-(echo '\ex\a' | grep x) || {
- echo "$me: grep doesn't work on input that is not pure text" >&2
- Exit 77
-}
+(echo '\ex\a' | grep x) \
+ || skip_ "grep doesn't work on input that is not pure text"
cat > configure.in << END
AC_INIT([$me], [123.456])
./configure
$MAKE all dvi
-# debugging & sanity checks
+# Debugging & sanity checks.
ls -l
cat version.texi
cat foo.info