summaryrefslogtreecommitdiff
path: root/tests/m4sh.at
diff options
context:
space:
mode:
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>2010-06-08 06:55:10 +0200
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>2010-06-08 06:55:10 +0200
commitcddfaa966c5536033df26106e3fdac3336bed7b2 (patch)
treea08be2c634d1f86dc61335e74867cf3a02a9e5ea /tests/m4sh.at
parent9c975f4d23f512e571b5bea7472120e89ba1f1f2 (diff)
downloadautoconf-cddfaa966c5536033df26106e3fdac3336bed7b2.tar.gz
Make AS_SET_CATFILE polymorphic, and add testsuite coverage.
* lib/m4sugar/m4sh.m4 (AS_SET_CATFILE): Use AS_VAR_SET to set the variable. * tests/m4sh.at (AS@&t@_SET_CATFILE): New test. * doc/autoconf.texi (Common Shell Constructs): Document that AS_SET_CATFILE is polymorphic in its VAR argument now. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Diffstat (limited to 'tests/m4sh.at')
-rw-r--r--tests/m4sh.at42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/m4sh.at b/tests/m4sh.at
index 7f2cc392..05cea853 100644
--- a/tests/m4sh.at
+++ b/tests/m4sh.at
@@ -241,6 +241,48 @@ AT_CHECK([$CONFIG_SHELL ./script])
AT_CLEANUP
+## ---------------- ##
+## AS_SET_CATFILE. ##
+## ---------------- ##
+
+AT_SETUP([AS@&t@_SET_CATFILE])
+AT_KEYWORDS([m4sh])
+
+AT_DATA_M4SH([script.as],
+[[AS_INIT
+
+# CATFILE_TEST(DIR, FILE, EXPECTED)
+m4_define([CATFILE_TEST],
+[# AS_SET_CATFILE works and can be used in a compound list.
+if AS_SET_CATFILE([var], [$1], [$2]) \
+ && test "$var" = $3; then :; else
+ echo "catfile($1, $2) = $var != $3" >&2
+fi
+# AS_SET_CATFILE can use non-literals in its arguments.
+varname=var2
+dirpart=$1
+filepart=$2
+if AS_SET_CATFILE([$varname], [$dirpart], [$filepart]) \
+ && test "$var2" = $3; then :; else
+ echo "catfile($dirpart, $filepart) = $var2 != $3" >&2
+fi
+])
+
+CATFILE_TEST([dir], [file], [dir/file])
+CATFILE_TEST([.], [file], [file])
+CATFILE_TEST([dir], [.], [dir])
+CATFILE_TEST([dir], [/abs/file], [/abs/file])
+CATFILE_TEST([dir], [C:/abs/file], [C:/abs/file])
+CATFILE_TEST(["dir name"], ['file name'], ['dir name/file name'])
+
+AS_EXIT(0)
+]])
+
+AT_CHECK_M4SH
+AT_CHECK([$CONFIG_SHELL ./script])
+
+AT_CLEANUP
+
## --------- ##
## AS_ECHO. ##