Reword the copyright notices to match what's suggested in GPLv3.
[autoconf/tsuna.git] / tests / base.at
blobe5e6a60550c158b3b137bacd22ab9f37d105d897
1 #                                                       -*- Autotest -*-
3 AT_BANNER([Autoconf base layer.])
5 # Copyright (C) 2000, 2001, 2003, 2005, 2006 Free Software Foundation, Inc.
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
21 ## ------------------------------- ##
22 ## AC_REQUIRE: topological sort..  ##
23 ## ------------------------------- ##
25 # Check that dependencies are always properly honored.
27 AT_SETUP([AC_REQUIRE: topological sort])
29 AT_DATA([configure.ac],
30 [[define([REQUIRE_AND_CHECK],
31 [AC_REQUIRE([$1])
32 test -z "$m4@&t@_translit([$1], [A-Z], [a-z])" && AS_EXIT(1)])
34 AC_DEFUN([TEST1],
35 [REQUIRE_AND_CHECK([TEST2a])
36 REQUIRE_AND_CHECK([TEST2b])
37 test1=set])
39 AC_DEFUN([TEST2a],
40 [test2a=set])
42 AC_DEFUN([TEST2b],
43 [REQUIRE_AND_CHECK([TEST3])
44 test2b=set])
46 AC_DEFUN([TEST3],
47 [REQUIRE_AND_CHECK([TEST2a])
48 test3=set])
50 AS@&t@_INIT
52 TEST1
53 test -z "$test1" &&
54   AC_MSG_ERROR([\$test1 is empty])
55 AS_EXIT(0)
56 ]])
58 AT_CHECK_AUTOCONF
59 AT_CHECK_CONFIGURE
61 AT_CLEANUP
64 ## --------------------------- ##
65 ## AC_REQUIRE: error message.  ##
66 ## --------------------------- ##
68 # Check that the message mentions AC_DEFUN, not m4_defun.
70 AT_SETUP([AC_REQUIRE: error message])
71 AT_DATA([configure.ac],
72 [[AC_REQUIRE([AC_PROG_CC])
73 ]])
75 AT_CHECK_AUTOCONF([], [1], [],
76 [[configure.ac:1: error: AC_REQUIRE(AC_PROG_CC): cannot be used outside of an AC_DEFUN'd macro
77 configure.ac:1: the top level
78 autom4te: m4 failed with exit status: 1
79 ]])
80 AT_CLEANUP
83 ## ----------------------------------------------- ##
84 ## AC_REQUIRE and AC_DEFUN_ONCE: Require, expand.  ##
85 ## ----------------------------------------------- ##
87 AT_SETUP([AC_REQUIRE & AC_DEFUN_ONCE: Require, expand])
89 AT_DATA([configure.ac],
90 [[AC_DEFUN([TEST],
91 [AC_REQUIRE([MULTI_TEST])
92 AC_REQUIRE([SINGLE_TEST])])
94 AC_DEFUN([MULTI_TEST],
95 [multi_test=".$multi_test"])
97 AC_DEFUN_ONCE([SINGLE_TEST],
98 [single_test=".$single_test"])
100 AS@&t@_INIT
102 TEST
103 TEST
104 MULTI_TEST
105 MULTI_TEST
106 SINGLE_TEST
107 SINGLE_TEST
109 case $multi_test:$single_test in
110   ...:. ) AS_EXIT(0);;
111   ...:* ) AC_MSG_ERROR([DEFUN_ONCE is broken]);;
112   *:.   ) AC_MSG_ERROR([DEFUN is broken (Wow, congrats!)]);;
113 esac
116 AT_CHECK_AUTOCONF([], 0, [],
117 [configure.ac:17: warning: SINGLE_TEST invoked multiple times
118 configure.ac:18: warning: SINGLE_TEST invoked multiple times
121 AT_CHECK_CONFIGURE
123 AT_CLEANUP
127 ## ----------------------------------------------- ##
128 ## AC_REQUIRE and AC_DEFUN_ONCE: Expand, require.  ##
129 ## ----------------------------------------------- ##
131 AT_SETUP([AC_REQUIRE & AC_DEFUN_ONCE: Expand, require])
133 AT_DATA([configure.ac],
134 [[AC_DEFUN([TEST],
135 [AC_REQUIRE([MULTI_TEST])
136 AC_REQUIRE([SINGLE_TEST])])
138 AC_DEFUN([MULTI_TEST],
139 [multi_test=".$multi_test"])
141 AC_DEFUN_ONCE([SINGLE_TEST],
142 [single_test=".$single_test"])
144 AS@&t@_INIT
146 MULTI_TEST
147 MULTI_TEST
148 SINGLE_TEST
149 SINGLE_TEST
150 TEST
151 TEST
153 case $multi_test:$single_test in
154   ..:. ) AS_EXIT(0);;
155   ..:* ) AC_MSG_ERROR([DEFUN_ONCE is broken]);;
156   *:.  ) AC_MSG_ERROR([DEFUN is broken (Wow, congrats!)]);;
157      * ) AC_MSG_ERROR([received `$multi_test:$single_test']);;
158 esac
161 AT_CHECK_AUTOCONF([], 0, [],
162 [configure.ac:16: warning: SINGLE_TEST invoked multiple times
164 AT_CHECK_CONFIGURE
166 AT_CLEANUP
170 ## ------------------------- ##
171 ## AC_REQUIRE & AC_PROVIDE.  ##
172 ## ------------------------- ##
174 AT_SETUP([AC_REQUIRE & AC_PROVIDE])
176 AT_DATA([configure.ac],
177 [[AC_DEFUN([TEST],
178 [AC_REQUIRE([INNER_TEST])])
180 AC_DEFUN([INNER_TEST],
181 [inner_test=".$inner_test"])
183 AS@&t@_INIT
185 AC_PROVIDE([INNER_TEST])
186 TEST
188 case $inner_test in
189   "" ) AS_EXIT(0);;
190   *  ) AC_MSG_ERROR([received `$inner_test']);;
191 esac
194 AT_CHECK_AUTOCONF
195 AT_CHECK_CONFIGURE
197 AT_CLEANUP
200 ## ---------------- ##
201 ## AC_CACHE_CHECK.  ##
202 ## ---------------- ##
204 # Make sure AC_CACHE_CHECK is silent with -q.
206 AT_SETUP([AC_CACHE_CHECK])
208 AT_DATA([configure.ac],
209 [[AC_INIT
210 AC_CACHE_CHECK([for nothing],
211                [ac_nothing],
212                [ac_nothing=found])
215 AT_CHECK_AUTOCONF
216 AT_CHECK_CONFIGURE([-q])
218 AT_CLEANUP
221 ## ---------------- ##
222 ## AC_COMPUTE_INT.  ##
223 ## ---------------- ##
225 # Make sure AC_COMPUTE_INT fails properly.
227 AT_SETUP([AC_COMPUTE_INT])
229 AT_DATA([configure.ac],
230 [[AC_INIT
231 AC_COMPUTE_INT([invalid_expression],
232                [**0**],
233                [],
234                [invalid_expression=failed])
235 test "$invalid_expression" = failed ||
236   AC_MSG_ERROR([**0** evaluated to $invalid_expression instead of failing])
239 AT_CHECK_AUTOCONF
240 AT_CHECK_CONFIGURE
242 AT_CLEANUP
245 ## ---------------- ##
246 ## AC_TRY_COMMAND.  ##
247 ## ---------------- ##
249 AT_SETUP([AC_TRY_COMMAND])
251 AT_DATA([configure.ac],
252 [[AC_INIT
254 if AC_TRY_COMMAND([(echo "The Cat in the Hat";
255                     echo "The Hat in the Cat" >&2) |
256                    grep \^The\ Cat\ in\ the\ Hat\$ >/dev/null]); then
257   :
258 else
259   AC_MSG_ERROR([Didn't see the Cat in the Hat!])
262 if AC_TRY_COMMAND([(echo "The Cat in the Hat";
263                     echo "The Hat in the Cat" >&2) |
264                    grep \^The\ Hat\ in\ the\ Cat\$ >/dev/null]); then
265   AC_MSG_ERROR([Saw the Hat in the Cat!])
269 AT_CHECK_AUTOCONF
270 AT_CHECK_CONFIGURE([-q])
272 AT_CLEANUP
275 ## ------------ ##
276 ## Input/Output ##
277 ## ------------ ##
279 AT_SETUP([Input/Output])
281 m4_pattern_allow([^AS_(MESSAGE|ORIGINAL_STDIN)_FD$])
282 AT_DATA([configure.ac],
283 [[AC_INIT
284 cat <&AS_ORIGINAL_STDIN_FD >&AS_MESSAGE_FD
286 AT_CHECK_AUTOCONF
287 AT_CHECK([echo Hello | top_srcdir=$abs_top_srcdir ./configure | grep -v 'configure: loading site script '],, [Hello
289 AT_CHECK([echo Hello | top_srcdir=$abs_top_srcdir ./configure --silent])
291 AT_CLEANUP