28f95668456ef02ff812579bcc556ca78ded72e4
[platform/upstream/automake.git] / tests / dejagnu4.test
1 #! /bin/sh
2 # Copyright (C) 2003  Free Software Foundation, Inc.
3 #
4 # This file is part of GNU Automake.
5 #
6 # GNU Automake is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2, or (at your option)
9 # any later version.
10 #
11 # GNU Automake is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with Automake; see the file COPYING.  If not, write to
18 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 # Boston, MA 02111-1307, USA.
20
21 # Check that the DejaGnu rules work for a simple program and test case.
22
23 required=runtest
24 . ./defs || exit 1
25
26 set -e
27
28 cat > hammer << 'END'
29 #! /bin/sh
30 echo "Everything looks like a nail to me!"
31 END
32
33 chmod +x hammer
34
35 cat > spanner << 'END'
36 #! /bin/sh
37 echo "I'm a right spanner!"
38 END
39
40 chmod +x spanner
41
42 echo AC_OUTPUT >> configure.in
43
44 cat > Makefile.am << 'END'
45 AUTOMAKE_OPTIONS = dejagnu
46
47 DEJATOOL = hammer spanner
48
49 AM_RUNTESTFLAGS = HAMMER=$(srcdir)/hammer SPANNER=$(srcdir)/spanner
50
51 EXTRA_DIST  = hammer  hammer.test/hammer.exp
52 EXTRA_DIST += spanner spanner.test/spanner.exp
53 END
54
55 mkdir hammer.test
56 mkdir spanner.test
57
58 cat > hammer.test/hammer.exp << 'END'
59 set test test
60 spawn $HAMMER
61 expect {
62     "Everything looks like a nail to me!" { pass "$test" }
63     default { fail "$test" }
64 }
65 END
66
67 cat > spanner.test/spanner.exp << 'END'
68 set test test
69 spawn $SPANNER
70 expect {
71     "I'm a right spanner!" { pass "$test" }
72     default { fail "$test" }
73 }
74 END
75
76 $ACLOCAL
77 $AUTOCONF
78 $AUTOMAKE --add-missing
79
80 ./configure
81
82 $MAKE check
83 test -f hammer.log
84 test -f hammer.sum
85 test -f spanner.log
86 test -f spanner.sum
87
88 $MAKE distcheck