test harness: improve catching of usage errors in script 'test-driver'
[platform/upstream/automake.git] / t / lisp-loadpath.sh
1 #! /bin/sh
2 # Copyright (C) 2012-2013 Free Software Foundation, Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Emacs lisp files in both $(srcdir) and $(builddir) are found if
18 # required by other files.  Related to automake bug#11806.
19
20 required=emacs
21 . test-init.sh
22
23 cat >> configure.ac << 'END'
24 AM_PATH_LISPDIR
25 AC_OUTPUT
26 END
27
28 cat > Makefile.am << 'END'
29 noinst_LISP = requirer.el
30 lisp_LISP = foo.el
31 lisp_DATA = bar.el
32 END
33
34 echo "(require 'foo) (require 'bar)" >> requirer.el
35 echo "(provide 'foo)" > foo.el
36 echo "(provide 'bar)" > bar.el
37
38 $ACLOCAL
39 $AUTOCONF
40 $AUTOMAKE -a
41
42 mkdir build
43 cd build
44 ../configure
45 $MAKE
46 test -f requirer.elc
47 test -f foo.elc
48 test ! -e bar.elc
49
50 $MAKE clean
51 test ! -e requirer.elc
52 test ! -e foo.elc
53
54 # In the spirit of VPATH, stuff in the builddir is preferred to
55 # stuff in the srcdir.
56 echo "(provide" > ../foo.el  # Break it.
57 echo "defun)" > ../bar.el    # Likewise.
58 $MAKE && exit 1
59 $sleep
60 echo "(provide 'foo)" > foo.el
61 echo "(provide 'bar)" > bar.el
62 $MAKE
63 test -f requirer.elc
64 test -f foo.elc
65 test ! -e bar.elc
66
67 :