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

62 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
# 13.11.2006 Volker Quetschke
# Test @@ recipe property.
# (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
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