diff options
author | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2010-06-08 06:55:10 +0200 |
---|---|---|
committer | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2010-06-08 06:55:10 +0200 |
commit | cddfaa966c5536033df26106e3fdac3336bed7b2 (patch) | |
tree | a08be2c634d1f86dc61335e74867cf3a02a9e5ea /tests/m4sh.at | |
parent | 9c975f4d23f512e571b5bea7472120e89ba1f1f2 (diff) | |
download | autoconf-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.at | 42 |
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. ## |