Clarify overriding of `*_DEPENDENCIES' in LIBOBJS node.
[automake/ericb.git] / tests / instfail.test
bloba09ca1759646a79b4453928654ddc79b8f09e3df
1 #! /bin/sh
2 # Copyright (C) 2008 Free Software Foundation, Inc.
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 3, or (at your option)
7 # any later version.
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.
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/>.
17 # The install rule should honor failures of the install program.
18 # Some of these are already caught by instmany.test.
20 # This test has a few sister tests, for java, info, libtool.
23 # non-root should catch 'chmod a-r'-challenged file systems.
24 required=non-root
25 . ./defs || Exit 1
27 set -e
29 cat >>configure.in <<END
30 AC_PROG_CC
31 AC_PROG_RANLIB
32 AM_PATH_LISPDIR
33 AC_OUTPUT
34 END
36 cat >Makefile.am <<'END'
37 bin_PROGRAMS = prog1 prog2 prog3
38 nobase_bin_PROGRAMS = progn1 progn2 progn3
39 lisp_LISP = lisp1.el lisp2.el lisp3.el
40 nobase_lisp_LISP = lispn1.el lispn2.el lispn3.el
41 lib_LIBRARIES = lib1.a lib2.a lib3.a
42 nobase_lib_LIBRARIES = libn1.a libn2.a libn3.a
43 unreadable-prog:
44 chmod a-r prog1$(EXEEXT)
45 readable-prog:
46 chmod a+r prog1$(EXEEXT)
47 unreadable-progn:
48 chmod a-r progn1$(EXEEXT)
49 readable-progn:
50 chmod a+r progn1$(EXEEXT)
51 END
53 for n in 1 2 3; do
54 echo "int main () { return 0; }" > prog$n.c
55 echo "int main () { return 0; }" > progn$n.c
56 echo "int foo$n () { return 0; }" > lib$n.c
57 echo "int foon$n () { return 0; }" > libn$n.c
58 echo >lisp$n.el
59 echo >lispn$n.el
60 done
62 $ACLOCAL
63 $AUTOCONF
64 $AUTOMAKE --add-missing
66 instdir=`pwd`/inst
67 ./configure --prefix="$instdir"
68 $MAKE
70 $MAKE install
71 $MAKE uninstall
73 $MAKE unreadable-prog
74 $MAKE install-exec && Exit 1
75 $MAKE readable-prog
77 $MAKE unreadable-progn
78 $MAKE install-exec && Exit 1
79 $MAKE readable-progn
81 for file in lib1.a libn1.a
83 chmod a-r $file
84 $MAKE install-exec && Exit 1
85 chmod u+r $file
86 done
88 if grep "^EMACS = no" Makefile; then :; else
89 for file in lisp1.el lisp1.elc
91 chmod a-r $file
92 $MAKE install-data && Exit 1
93 chmod u+r $file
94 done