office-gobmx/dmake/tests/macros-9

142 lines
2.2 KiB
Text
Raw Normal View History

#!/bin/sh
# 27.07.2007 Volker Quetschke
# Test the :i :1 macro extensions.
# (issue 80010)
: ${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
cat > $file1 <<EOT
SHELL*:=/bin/sh
SHELLFLAGS*:=-ce
.WINPATH:=
MACRO:="/tmp/yyy.ext" "/tmp/a b/xxx.ext"
all :
@echo 1:\$(MACRO:1):
EOT
output1=`eval ${DMAKEPROG} -r -f $file1`
result1=$?
if test "$output1" != "1:\"/tmp/yyy.ext\":"; then
echo "Subtest 1: Wrong result: $output1"
result1=1
else
echo "Subtest 1: OK"
fi
# Test 2
cat > $file1 <<EOT
SHELL*:=/bin/sh
SHELLFLAGS*:=-ce
MACRO2:=/tmp/zzz.ext /tmp/aaa
all :
@echo 1:\$(MACRO2:1):
EOT
output2=`eval ${DMAKEPROG} -r -f $file1`
result2=$?
if test "$output2" != "1:/tmp/zzz.ext:"; then
echo "Subtest 2: Wrong result: $output2"
result2=1
else
echo "Subtest 2: OK"
fi
# Test 3
cat > $file1 <<EOT
SHELL*:=/bin/sh
SHELLFLAGS*:=-ce
MACRO:="/tmp/yyy.ext" "/tmp/a b/xxx.ext"
all :
@echo i:\$(MACRO:i):
EOT
output3=`eval ${DMAKEPROG} -r -f $file1`
result3=$?
if test "$output3" != "i:\"/tmp/yyy.ext\" \"/tmp/a b/xxx.ext\":"; then
echo "Subtest 3: Wrong result: $output3"
result3=1
else
echo "Subtest 3: OK"
fi
# Test 4
cat > $file1 <<EOT
SHELL*:=/bin/sh
SHELLFLAGS*:=-ce
MACRO:="/tmp/yyy.ext" "/tmp/a b/xxx.ext"
.WINPATH=
all :
@echo 1n:\$(MACRO:1n):
EOT
output4=`eval ${DMAKEPROG} -r -f $file1`
result4=$?
if test "$output4" != "1n:\"/tmp/yyy.ext\":"; then
echo "Subtest 4: Wrong result: $output4"
result4=1
else
echo "Subtest 4: OK"
fi
# Test 5
cat > $file1 <<EOT
SHELL*:=/bin/sh
SHELLFLAGS*:=-ce
MACROi:="./expand.c"
.WINPATH=
.SOURCE : ..
all : expand.c
@echo i:\$(MACROi:i):
EOT
output5=`eval ${DMAKEPROG} -r -f $file1`
result5=$?
if test "$output5" != "i:\"../expand.c\":"; then
echo "Subtest 5: Wrong result: $output5"
result5=1
else
echo "Subtest 5: OK"
fi
if test $result1 -eq 0 -a $result2 -eq 0 \
-a $result3 -eq 0 -a $result4 -eq 0 \
-a $result5 -eq 0 ; then
echo "Success - Cleaning up" && rm -f ${tmpfiles}
exit
else
echo "Failure!"
exit 1
fi