From: Richard Dawe Date: Fri, 18 Apr 2003 09:07:01 +0000 (+0000) Subject: * lib/am/dejagnu.am (site.exp): Don't define tool in site.exp, X-Git-Tag: Release-1-7b~210 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=086d087ecdc4de33d90e409476f755582438635a;p=automake.git * lib/am/dejagnu.am (site.exp): Don't define tool in site.exp, because we set that by invoking runtest with --tool. * tests/Makefile.am (TESTS): Add dejagnu4.test, dejagnu5.test, dejagnu6.test, dejagnu7.test. * tests/dejagnu4.test: New test. * tests/dejagnu5.test: New test. * tests/dejagnu6.test: New test. * tests/dejagnu7.test: New test. * tests/dejagnu3.test: Make sure the DejaGnu test is actually run. --- diff --git a/ChangeLog b/ChangeLog index 31016858..e03c38c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2003-04-18 Richard Dawe + + * lib/am/dejagnu.am (site.exp): Don't define tool in site.exp, + because we set that by invoking runtest with --tool. + * tests/Makefile.am (TESTS): Add dejagnu4.test, dejagnu5.test, + dejagnu6.test, dejagnu7.test. + * tests/dejagnu4.test: New test. + * tests/dejagnu5.test: New test. + * tests/dejagnu6.test: New test. + * tests/dejagnu7.test: New test. + + * tests/dejagnu3.test: Make sure the DejaGnu test is actually run. + 2003-04-18 Jim Meyering * lib/am/yacc.am (?!GENERIC?%OBJ% aka .y.c): Don't redirect diff --git a/lib/am/dejagnu.am b/lib/am/dejagnu.am index df69d02d..bfe3cd5c 100644 --- a/lib/am/dejagnu.am +++ b/lib/am/dejagnu.am @@ -79,7 +79,6 @@ site.exp: Makefile @echo '## these variables are automatically generated by make ##' >site.tmp @echo '# Do not edit here. If you wish to override these values' >>site.tmp @echo '# edit the last section' >>site.tmp - @echo 'set tool $(DEJATOOL)' >>site.tmp @echo 'set srcdir $(srcdir)' >>site.tmp @echo "set objdir `pwd`" >>site.tmp ## Quote the *_alias variables because they might be empty. diff --git a/tests/Makefile.am b/tests/Makefile.am index 3405a75d..f8ce5c63 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -138,6 +138,10 @@ defun2.test \ dejagnu.test \ dejagnu2.test \ dejagnu3.test \ +dejagnu4.test \ +dejagnu5.test \ +dejagnu6.test \ +dejagnu7.test \ depacl2.test \ depcomp.test \ depcomp2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 7c347637..c612ccf5 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -241,6 +241,10 @@ defun2.test \ dejagnu.test \ dejagnu2.test \ dejagnu3.test \ +dejagnu4.test \ +dejagnu5.test \ +dejagnu6.test \ +dejagnu7.test \ depacl2.test \ depcomp.test \ depcomp2.test \ diff --git a/tests/dejagnu3.test b/tests/dejagnu3.test index f9c97124..6f1333a2 100755 --- a/tests/dejagnu3.test +++ b/tests/dejagnu3.test @@ -38,15 +38,18 @@ cat > Makefile.am << 'END' AUTOMAKE_OPTIONS = dejagnu DEJATOOL = hammer + +AM_RUNTESTFLAGS = HAMMER=$(srcdir)/hammer END -mkdir testsuite -mkdir testsuite/hammer.test +mkdir hammer.test -cat > testsuite/hammer.test/hammer.exp << 'END' +cat > hammer.test/hammer.exp << 'END' set test test +spawn $HAMMER expect { -Everything looks like a nail to me! { pass "$test" } + "Everything looks like a nail to me!" { pass "$test" } + default { fail "$test" } } END diff --git a/tests/dejagnu4.test b/tests/dejagnu4.test new file mode 100755 index 00000000..b5e7732d --- /dev/null +++ b/tests/dejagnu4.test @@ -0,0 +1,85 @@ +#! /bin/sh +# Copyright (C) 2003 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 autoconf; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Check that the DejaGnu rules work for a simple program and test case. + +required=runtest +. ./defs || exit 1 + +set -e + +cat > hammer << 'END' +#! /bin/sh +echo "Everything looks like a nail to me!" +END + +chmod +x hammer + +cat > spanner << 'END' +#! /bin/sh +echo "I'm a right spanner!" +END + +chmod +x spanner + +echo AC_OUTPUT >> configure.in + +cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = dejagnu + +DEJATOOL = hammer spanner + +AM_RUNTESTFLAGS = HAMMER=$(srcdir)/hammer SPANNER=$(srcdir)/spanner +END + +mkdir hammer.test +mkdir spanner.test + +cat > hammer.test/hammer.exp << 'END' +set test test +spawn $HAMMER +expect { + "Everything looks like a nail to me!" { pass "$test" } + default { fail "$test" } +} +END + +cat > spanner.test/spanner.exp << 'END' +set test test +spawn $SPANNER +expect { + "I'm a right spanner!" { pass "$test" } + default { fail "$test" } +} +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing + +./configure + +$MAKE check +test -f hammer.log +test -f hammer.sum +test -f spanner.log +test -f spanner.sum + +$MAKE distcheck diff --git a/tests/dejagnu5.test b/tests/dejagnu5.test new file mode 100755 index 00000000..c20c67e1 --- /dev/null +++ b/tests/dejagnu5.test @@ -0,0 +1,69 @@ +#! /bin/sh +# Copyright (C) 2003 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 autoconf; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Check that the DejaGnu rules do look for a testsuite named after +# the package by default. + +required=runtest +. ./defs || exit 1 + +set -e + +# Get the package name from configure.in. +package=`$FGREP AC_INIT configure.in | sed -e 's:^[^[]*\[\([^]]*\)\].*$:\1:'` + +cat > $package << 'END' +#! /bin/sh +echo "Ah, we have been expecting you, Mr. Blond." +END + +chmod +x $package + +echo AC_OUTPUT >> configure.in + +cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = dejagnu + +END + +echo "AM_RUNTESTFLAGS = PACKAGE=\$(srcdir)/$package" >> Makefile.am + +mkdir $package.test + +cat > $package.test/$package.exp << 'END' +set test "test" +spawn $PACKAGE +expect { + "Ah, we have been expecting you, Mr. Blond." { pass "$test" } + default { fail "$test" } +} +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing + +./configure + +$MAKE check +test -f $package.log +test -f $package.sum + +$MAKE distcheck diff --git a/tests/dejagnu6.test b/tests/dejagnu6.test new file mode 100755 index 00000000..ab83e4c9 --- /dev/null +++ b/tests/dejagnu6.test @@ -0,0 +1,64 @@ +#! /bin/sh +# Copyright (C) 2003 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 autoconf; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Check that "make check" fails, when a DejaGnu test fails. + +required=runtest +. ./defs || exit 1 + +set -e + +cat > faildeja << 'END' +#! /bin/sh +echo whatever +END + +chmod +x faildeja + +echo AC_OUTPUT >> configure.in + +cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = dejagnu + +DEJATOOL = faildeja + +AM_RUNTESTFLAGS = FAILDEJA=$(srcdir)/faildeja +END + +mkdir faildeja.test + +cat > faildeja.test/faildeja.exp << 'END' +set test test +spawn $FAILDEJA +expect { + default { fail "$test" } +} +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing + +./configure + +$MAKE check && exit 1 +test -f faildeja.log +test -f faildeja.sum +$FGREP 'FAIL: test' faildeja.sum diff --git a/tests/dejagnu7.test b/tests/dejagnu7.test new file mode 100755 index 00000000..7e76a0e6 --- /dev/null +++ b/tests/dejagnu7.test @@ -0,0 +1,63 @@ +#! /bin/sh +# Copyright (C) 2003 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 autoconf; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Check that "make check" fails, when we invoke DejaGnu tests with --status +# (to detect TCL errors) on a file with TCL errors. + +required=runtest +. ./defs || exit 1 + +cat > failtcl << 'END' +#! /bin/sh +echo whatever +END + +chmod +x failtcl + +echo AC_OUTPUT >> configure.in + +cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = dejagnu + +DEJATOOL = failtcl + +AM_RUNTESTFLAGS = --status FAILTCL=$(srcdir)/failtcl +END + +mkdir failtcl.test + +cat > failtcl.test/failtcl.exp << 'END' +set test test +spawn $FAILTCL +expect { + default { pass "$test" } +# Oops, no closing brace. +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing + +./configure + +$MAKE check && exit 1 +test -f failtcl.log +test -f failtcl.sum +$FGREP 'missing close-brace' failtcl.sum