office-gobmx/dmake/tests/recipes-6
Vladimir Glazounov 13c0772a53 INTEGRATION: CWS dmake47 (1.1.2); FILE ADDED
2006/11/20 17:16:49 vq 1.1.2.3: #i71777# Solaris testcase fixes.
2006/11/20 16:38:46 vq 1.1.2.2: #i71422# Fix testcase.
2006/11/13 20:39:11 vq 1.1.2.1: #i71422# Add testcases.
2007-01-18 08:42:31 +00:00

66 lines
1.3 KiB
Bash
Executable file

#!/bin/sh
# 13.11.2006 Volker Quetschke
# Test @@ recipe property with group recipes.
# (issue 71422)
: ${DMAKEPROG:=dmake}
file1="mfile1.mk"
file2="ofile1.out"
tmpfiles="$file1 $file2"
trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15
trap 'rm -rf $tmpfiles' 1 2 3 15
# Remember to quote variables in generated makefiles( $ -> \$ ).
cat > $file1 <<EOT
# Test @@ recipe
SHELL*:=/bin/sh
SHELLFLAGS*:=-ce
GROUPSHELL*:=/bin/sh
GROUPSUFFIX:=.sh
all :
@@[
echo someoutput > $file2
echo something
]
EOT
output1=`eval ${DMAKEPROG} -r -f $file1`
result1=$?
if test "$output1" != ""; then
echo "Wrong result: $output1"
result1=1
fi
if test -f $file2; then
if test `cat $file2` != "someoutput"; then
echo "Wrong file content: `cat $file2`"
result1=1
fi
else
echo "No such file : $file2"
result1=1
fi
# Test if -vr enables the output again
output2=`eval ${DMAKEPROG} -vr -rf $file1`
result2=$?
if echo $output2 | grep -v 'echo someoutput > ofile1.out'; then
echo "Missing output: echo someoutput > ofile1.out"
result2=1
fi
if echo $output2 | grep -v 'something'; then
echo "Missing output: something"
result2=1
fi
if test $result1 -eq 0 -a $result2 -eq 0; then
echo "Success - Cleaning up"
rm -f ${tmpfiles}
exit 0
else
echo "Failure!"
exit 1
fi