tests: expose automake bug#14560
[platform/upstream/automake.git] / t / distcheck-writable-srcdir.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 # Check that the user abuse 'distcheck-hook' to ensure his packages
18 # is built by "make distcheck" with a writable srcdir.  This goes
19 # against the GNU Coding Standards, but some package authors might
20 # not care about them too much, and it's nice to support their use
21 # case too (since it doesn't cost us anything but this test).
22 # See automake bug#10878.
23
24 . test-init.sh
25
26 echo AC_OUTPUT >> configure.ac
27
28 cat > Makefile.am <<'END'
29 EXTRA_DIST = old
30 distcheck-hook:
31         find $(distdir) -exec chmod u+w '{}' ';'
32 check-local:
33         test -f $(srcdir)/old
34         test ! -f $(srcdir)/new
35         test ! -r $(srcdir)/new
36 ## Don't do this in real life, or I'll kill you.
37         echo foo > $(srcdir)/old
38         echo bar > $(srcdir)/new
39 END
40
41 $ACLOCAL
42 $AUTOMAKE
43 $AUTOCONF
44 ./configure
45 : > old
46 $MAKE distcheck
47
48 :