autoconf/tests/m4sugar.at

136 lines
2.6 KiB
Plaintext
Raw Normal View History

# -*- Autoconf -*-
AT_BANNER([M4sugar.])
# Order of the tests:
# - m4_warn
#
# - m4_require
# uses warn/error code.
#
# - m4_text_wrap
## --------- ##
## m4_warn. ##
## --------- ##
AT_SETUP([[m4_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.
AT_DATA([script.s4g],
[[m4_warn([foo], [foo])
m4_warn([bar], [bar])
m4_warn([syntax], [syntax])
]])
AT_CHECK_M4SUGAR([-o-], 0, [],
[script.s4g:3: warning: syntax
])
AT_CHECK_M4SUGAR([-o- -Wall], 0, [],
[script.s4g:1: warning: foo
script.s4g:2: warning: bar
script.s4g:3: warning: syntax
])
AT_CHECK_M4SUGAR([-o- -Wnone,bar], 0, [],
[script.s4g:2: warning: bar
])
AT_CHECK_M4SUGAR([-o- -Wnone,bar,error], 1, [],
[script.s4g:2: error: bar
script.s4g:2: the top level
])
AT_CLEANUP
## ----------------------------------- ##
## m4_require: circular dependencies. ##
## ----------------------------------- ##
AT_SETUP([[m4_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([script.s4g],
[[m4_defun([foo],
[m4_require([bar])])
m4_defun([bar],
[m4_require([foo])])
m4_defun([baz],
[m4_require([foo])])
m4_init
baz
]])
AT_CHECK_M4SUGAR([], 1, [],
[[script.s4g:11: error: m4_require: circular dependency of foo
script.s4g:11: foo is required by...
script.s4g:5: bar is expanded from...
script.s4g:11: bar is required by...
script.s4g:2: foo is expanded from...
script.s4g:11: foo is required by...
script.s4g:8: baz is expanded from...
script.s4g:11: the top level
]])
AT_CLEANUP
## -------------- ##
## m4_text_wrap. ##
## -------------- ##
AT_SETUP([[m4_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([script.s4g],
[[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