mirror of
git://git.sv.gnu.org/autoconf
synced 2025-01-18 10:45:15 +08:00
9a71d441c5
output, so that we can track spurious m4sugar output. * tests/local.at: Require 2.57. (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): Don't m4_default the arguments that are defaulted by AT_CHECK anyway. Use AT_CHECK_AUTOM4TE. * lib/m4sugar/m4sugar.m4: There should be no output at all: add a missing dnl.
167 lines
3.9 KiB
Plaintext
167 lines
3.9 KiB
Plaintext
# -*- Autotest -*-
|
|
|
|
AT_BANNER([M4sugar.])
|
|
|
|
# Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
|
|
#
|
|
# This program 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 2, or (at your option)
|
|
# any later version.
|
|
#
|
|
# This program 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, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
# 02111-1307, USA.
|
|
|
|
|
|
# Order of the tests:
|
|
# - m4_warn
|
|
#
|
|
# - m4_require
|
|
# uses warn/error code.
|
|
#
|
|
# - m4_text_wrap
|
|
|
|
## --------- ##
|
|
## m4_warn. ##
|
|
## --------- ##
|
|
|
|
AT_SETUP([[m4@&t@_warn]])
|
|
|
|
# m4_text_wrap is used to display the help strings. Also, check that
|
|
# commas are not swallowed. This can easily happen because of
|
|
# m4-listification.
|
|
|
|
# FIXME: For the time being we use -f to make sure we do issue the
|
|
# warnings. But maybe autom4te should handle that by itself?
|
|
|
|
AT_DATA_M4SUGAR([script.4s],
|
|
[[m4_init
|
|
m4_defun([cross_warning],
|
|
[m4_warn([cross], [cross])])
|
|
|
|
m4_divert_push([0])m4_wrap([m4_divert_pop([0])[]])dnl
|
|
m4_warn([obsolete], [obsolete])dnl
|
|
cross_warning[]dnl
|
|
m4_warn([syntax], [syntax])dnl
|
|
]])
|
|
|
|
AT_CHECK_M4SUGAR([-o-], 0, [],
|
|
[script.4s:8: warning: syntax
|
|
])
|
|
|
|
AT_CHECK_M4SUGAR([-o- -Wall -f], 0, [],
|
|
[script.4s:6: warning: obsolete
|
|
script.4s:7: warning: cross
|
|
script.4s:3: cross_warning is expanded from...
|
|
script.4s:7: the top level
|
|
script.4s:8: warning: syntax
|
|
])
|
|
|
|
AT_CHECK_M4SUGAR([-o- -Wnone,cross -f], 0, [],
|
|
[script.4s:7: warning: cross
|
|
script.4s:3: cross_warning is expanded from...
|
|
script.4s:7: the top level
|
|
])
|
|
|
|
AT_CHECK_M4SUGAR([-o- -Wnone,cross,error -f], 1, [],
|
|
[[script.4s:7: warning: cross
|
|
script.4s:3: cross_warning is expanded from...
|
|
script.4s:7: the top level
|
|
]])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
## ----------------------------------- ##
|
|
## m4_require: circular dependencies. ##
|
|
## ----------------------------------- ##
|
|
|
|
AT_SETUP([[m4@&t@_require: circular dependencies]])
|
|
|
|
# m4_text_wrap is used to display the help strings. Also, check that
|
|
# commas are not swallowed. This can easily happen because of
|
|
# m4-listification.
|
|
|
|
AT_DATA_M4SUGAR([script.4s],
|
|
[[m4_defun([foo],
|
|
[m4_require([bar])])
|
|
|
|
m4_defun([bar],
|
|
[m4_require([foo])])
|
|
|
|
m4_defun([baz],
|
|
[m4_require([foo])])
|
|
|
|
m4_init
|
|
m4_divert_push([0])m4_wrap([m4_divert_pop([0])[]])dnl
|
|
baz
|
|
]])
|
|
|
|
AT_CHECK_M4SUGAR([], 1, [],
|
|
[[script.4s:12: error: m4@&t@_require: circular dependency of foo
|
|
script.4s:12: foo is required by...
|
|
script.4s:5: bar is expanded from...
|
|
script.4s:12: bar is required by...
|
|
script.4s:2: foo is expanded from...
|
|
script.4s:12: foo is required by...
|
|
script.4s:8: baz is expanded from...
|
|
script.4s:12: the top level
|
|
autom4te: m4 failed with exit status: 1
|
|
]])
|
|
AT_CLEANUP
|
|
|
|
|
|
## -------------- ##
|
|
## m4_text_wrap. ##
|
|
## -------------- ##
|
|
|
|
AT_SETUP([[m4@&t@_text_wrap]])
|
|
|
|
# m4_text_wrap is used to display the help strings. Also, check that
|
|
# commas are not swallowed. This can easily happen because of
|
|
# m4-listification.
|
|
|
|
AT_DATA_M4SUGAR([script.4s],
|
|
[[m4_divert_push([0])m4_wrap([m4_divert_pop([0])])dnl
|
|
m4_text_wrap([Short string */], [ ], [/* ], 20)
|
|
|
|
m4_text_wrap([Much longer string */], [ ], [/* ], 20)
|
|
|
|
m4_text_wrap([Short doc.], [ ], [ --short ], 30)
|
|
|
|
m4_text_wrap([Short doc.], [ ], [ --too-wide], 30)
|
|
|
|
m4_text_wrap([Super long documentation.], [ ], [ --too-wide], 30)
|
|
|
|
m4_text_wrap([First, second , third, [,quoted]])
|
|
]])
|
|
|
|
AT_DATA([expout],
|
|
[[/* Short string */
|
|
|
|
/* Much longer
|
|
string */
|
|
|
|
--short Short doc.
|
|
|
|
--too-wide
|
|
Short doc.
|
|
|
|
--too-wide
|
|
Super long
|
|
documentation.
|
|
|
|
First, second , third, [,quoted]
|
|
]])
|
|
|
|
AT_CHECK_M4SUGAR([-o-], 0, [expout])
|
|
|
|
AT_CLEANUP
|