maint: Update HACKING
[automake.git] / t / instfail-java.sh
blob360c685a080595ac8cdead0fce2e62c3ed57c83f
1 #! /bin/sh
2 # Copyright (C) 2008-2017 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 2, 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 <https://www.gnu.org/licenses/>.
17 # The install rule should honor failures of the install program.
18 # Some of these are already caught by 'instmany.sh'.
20 # This is the java sister test of 'instfail.sh'.
22 required=javac
23 . test-init.sh
25 cat >>configure.ac <<'END'
26 AC_OUTPUT
27 END
29 cat >Makefile.am <<'END'
30 javadir = $(datadir)/java
31 java_JAVA = java1.java java2.java java3.java
32 END
34 for n in 1 2 3; do
35 echo "class java$n { }" >java$n.java
36 done
38 $ACLOCAL
39 $AUTOCONF
40 $AUTOMAKE --add-missing
42 instdir=$(pwd)/inst || fatal_ "getting current working directory"
43 ./configure --prefix="$instdir"
44 $MAKE
46 $MAKE install
47 $MAKE uninstall
49 for file in java1.class
51 chmod a-r $file
52 test ! -r $file || skip_ "cannot drop file read permissions"
53 $MAKE install-data && exit 1
54 chmod u+r $file
55 done