Merge branch 'maint'
[platform/upstream/automake.git] / t / autodist-no-duplicate.sh
1 #! /bin/sh
2 # Copyright (C) 2011-2012 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 there are no duplicates in the list of files automatically
18 # distributed by automake.
19
20 . ./defs || exit 1
21
22 re='Files .*automatically distributed.*if found'
23
24 # The automake manual states that the list of automatically-distributed
25 # files should be given by 'automake --help'.
26
27 list1=$($AUTOMAKE --help \
28          | sed -n "/^$re.*always/,/^ *$/p" \
29          | sed 1d)
30 list1=$(echo $list1)
31
32 list2=$($AUTOMAKE --help \
33          | sed -n "/^$re.*under certain conditions/,/^ *$/p" \
34          | sed 1d)
35 list2=$(echo $list2)
36
37 test -n "$list1"
38 test -n "$list2"
39
40 st=0
41 for i in 1 2; do
42   eval list=\${list$i}
43   for f in $list; do echo $f; done | sort > files$i.lst
44   uniq files$i.lst > files$i.uniq
45   cat files$i.lst
46   cat files$i.uniq
47   diff files$i.lst files$i.uniq || st=1
48 done
49
50 exit $st