summaryrefslogtreecommitdiff
path: root/agen5/test/opts.test
blob: 489e30fa61ce2dbc09294986779ee059a74be569 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#! /bin/sh
#  -*- Mode: Shell-script -*-
# ----------------------------------------------------------------------
# opts.test --- Verify the handling of options
#
# Time-stamp:       "2011-12-04 05:12:42 bkorb"
# Author:	    Bruce Korb <bkorb@gnu.org>
##
## This file is part of AutoGen.
## AutoGen Copyright (c) 1992-2012 by Bruce Korb - all rights reserved
##
## AutoGen is free software: you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by the
## Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## AutoGen is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
## See the GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License along
## with this program.  If not, see <http://www.gnu.org/licenses/>.

. ./defs

#  Fetch the options files
#
unstamp()
{
  # The "zDetail" and zCopyrightNotice text gets formatted with "fmt -w 75".
  # The different "fmt" implementations behave differently.
  #
  ${SED} -e "${sed_omit_license}" \
      -e '/ extracted from.* line [1-9]/d' \
      -e '/static char const zDetail/,/";$/d' \
      -e '/static char const zCopyright/,/";$/d' \
      -e '/static char const zLicenseDescrip/,/";$/d' \
      -e '/ "autogen is free software: /,/www\.gnu\.org\/licenses/d' \
      $1 > $2 ||
    failure Cannot remove stamps from $1
}

workdir=`pwd`
rm -f ../VERSION ./opts.* || :

cd ${top_srcdir}/agen5
unstamp opts.c ${workdir}/opts.c.base
unstamp opts.h ${workdir}/opts.h.base
cp opts.def ${workdir}/.
cp -f ${top_srcdir}/VERSION ${workdir}/..

cd ${workdir}
set -x
ls -l * ../VERSION > $testname.log

echo Checking for "'define DEBUG'" options
if ${GREP} 'define DEBUG' ${srcdir}/../opts.h
then
  AGCMD="-DDEBUG=1"
else
  AGCMD=""
fi

run_ag x ${AGCMD} opts.def || {
  rm -f ../VERSION
  failure ${AGCMD} opts.def
}

rm -f ../VERSION

unstamp opts.c opts.c.res
echo diff opts.c.base opts.c.res
diff opts.c.base opts.c.res || \
  failure "`diff -c opts.c.base opts.c.res`"

unstamp opts.h opts.h.res
echo diff opts.h.base opts.h.res
diff opts.h.base opts.h.res || \
  failure "`diff -c opts.h.base opts.h.res`"

cleanup

## Local Variables:
## mode: shell-script
## indent-tabs-mode: nil
## sh-indentation: 2
## sh-basic-offset: 2
## End:

# end of opts.test