X-Git-Url: http://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/2d17f059aa8a1e4670b9dad3f24556c7d97f6d45..e5cf340e0235a578efb05d004ec1a230d3ddb987:/tests/macros.at diff --git a/tests/macros.at b/tests/macros.at index 9986d75..a5c8c5d 100644 --- a/tests/macros.at +++ b/tests/macros.at @@ -26,14 +26,32 @@ dnl Verify that the DX_BASEDIR macro expands correctly during argument dnl collection. Crucially, the output must not contain any other text. AT_SETUP([DX_BASEDIR during argument collection]) -AT_XFAIL_IF([:]) - AT_DATA([test.in], [[@TEST@ ]]) TEST_CONFIGURE_AC( -[[AC@&t@_SUBST([TEST], 'm4@&t@_dquote(DX_BASEDIR)') +[[AC_SUBST([TEST], 'm4@&t@_dquote(DX_BASEDIR)') +AC_CONFIG_FILES([test]) +]]) +TEST_AUTORECONF +TEST_CONFIGURE + +printf '%s\n' "$srcdir" | sed -e 's:/\./:/:g' -e 's:/\.$::g' \ + -e 's:\(.\)//*:\1/:g' >expout +AT_CHECK([cat test], [0], [expout]) + +AT_CLEANUP + +dnl Verify that DX_BASEDIR is correctly AC_SUBSTed +AT_SETUP([DX_BASEDIR output substitution]) + +AT_DATA([test.in], +[[@DX_BASEDIR@ +]]) + +TEST_CONFIGURE_AC( +[[DX_INIT AC_CONFIG_FILES([test]) ]]) TEST_AUTORECONF @@ -44,3 +62,41 @@ printf '%s\n' "$srcdir" | sed -e 's:/\./:/:g' -e 's:/\.$::g' \ AT_CHECK([cat test], [0], [expout]) AT_CLEANUP + +dnl Verify that DX_BASEDIR is set correctly implicitly +AT_SETUP([DX_BASEDIR implicit definition]) + +AT_DATA([test.in], +[[@DX_BASEDIR@ +]]) + +TEST_CONFIGURE_AC( +[[DX_EXPORTED_SH +AC_CONFIG_FILES([test]) +]]) +TEST_AUTORECONF +TEST_CONFIGURE + +AT_CLEANUP + +AT_SETUP([DX_COMMAND_OUTPUT]) + +AT_DATA([expout], +[[ leading whitespace +trailing whitespace @&t@ +embedded\ backslashes + @&t@ +backslash\ +newline +]]) + +TEST_CONFIGURE_AC( +[[DX_COMMAND_OUTPUT([var], [cat expout]) +AS@&t@_ECHO(["$var"]) >test.out +]]) +TEST_AUTORECONF +TEST_CONFIGURE + +AT_CHECK([cat test.out], [0], [expout]) + +AT_CLEANUP