diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2007-10-15 14:48:03 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2007-10-15 14:48:03 +0000 |
commit | ec1570380566c3f8bbcb2235d3bea58560c228b0 (patch) | |
tree | 70413293106ba53c7a4f67cb5e7c2f6b8fc018a2 /dmake | |
parent | 1686432f9c274beddd82cc0dd27ea82abe48c145 (diff) |
INTEGRATION: CWS dmake411 (1.1.2); FILE ADDED
2007/08/29 02:25:51 vq 1.1.2.1: #i64234# Add testcase.
Diffstat (limited to 'dmake')
-rwxr-xr-x | dmake/tests/function_macros-10 | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/dmake/tests/function_macros-10 b/dmake/tests/function_macros-10 new file mode 100755 index 000000000000..db6ce88b0ded --- /dev/null +++ b/dmake/tests/function_macros-10 @@ -0,0 +1,122 @@ +#!/bin/sh + +# 28.08.2007 Volker Quetschke +# Test mktmp function macro. +# (issue 64234) + +: ${DMAKEPROG:=dmake} +file1="mfile1.mk" +tmpfiles="$file1" + +trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 + +# Remove files from prior failed run +rm -rf $tmpfiles + +# Remember to quote variables in generated makefiles( $ -> \$ ). +# Test 1 - Check that mktmp can write special characters into a file. +cat > $file1 <<EOT +SHELL*:=/bin/sh +SHELLFLAGS*:=-ce + +FOO:=test1\n\ttest2\n\ + test3 + +all : + @cat \$(mktmp \$(FOO:m)) + +EOT + +output1=`eval ${DMAKEPROG} -r -f $file1` +result1=$? +comparewith=`printf "test1\n\ttest2\n test3"` +if test $result1 = 0 -a "$output1" = "$comparewith" ; then + echo "Subtest 1: OK" + result1=0 +else + echo "Subtest 1: Wrong result: $output1" + echo + result1=1 +fi + + +# Remember to quote variables in generated makefiles( $ -> \$ ). +# Test 2 - Check output of '(' +cat > $file1 <<EOT +SHELL*:=/bin/sh +SHELLFLAGS*:=-ce + +all : + @cat \${mktmp text (to dump to file} + +EOT + +output2=`eval ${DMAKEPROG} -r -f $file1` +result2=$? +if test $result2 = 0 -a "$output2" = "text (to dump to file" ; then + echo "Subtest 2: OK" + result2=0 +else + echo "Subtest 2: Wrong result: $output2" + echo + result2=1 +fi + + +# Remember to quote variables in generated makefiles( $ -> \$ ). +# Test 3 - Test multiple line output. +cat > $file1 <<EOT +SHELL*:=/bin/sh +SHELLFLAGS*:=-ce + +OBJ = fred.obj mary.obj + +./all : + @cat \$(mktmp \$(OBJ:t"+\n")) +EOT + +output3=`eval OOODMAKEMODE=y ${DMAKEPROG} -r -f $file1` +result3=$? +comparewith=`printf "fred.obj+\nmary.obj"` +if test $result3 = 0 -a "$output3" = "$comparewith" ; then + echo "Subtest 3: OK" + result3=0 +else + echo "Subtest 3: Wrong result: $output3" + echo + result3=1 +fi + + +# Remember to quote variables in generated makefiles( $ -> \$ ). +# Test 4 - Test <+ ... +> +cat > $file1 <<EOT +SHELL*:=/bin/sh +SHELLFLAGS*:=-ce + +OBJ = fred.obj mary.obj joe.obj + +./all : + @cat <+\$(OBJ)+> +EOT + +output4=`eval ${DMAKEPROG} -r -f $file1` +result4=$? +if test $result4 = 0 -a "$output4" = "fred.obj mary.obj joe.obj" ; then + echo "Subtest 4: OK" + result4=0 +else + echo "Subtest 4: Wrong result: $output4" + echo + result4=1 +fi + + +if test $result1 -eq 0 -a $result2 -eq 0 \ + -a $result3 -eq 0 -a $result4 -eq 0 ; then + echo "Success - Cleaning up" && rm -f ${tmpfiles} + exit +else + echo "Failure!" + exit 1 +fi |