#!/bin/sh # 15.08.2006 Volker Quetschke # Check that single letter macros with (, {, ), } and : are rejected. # (issue 44961). : ${DMAKEPROG:=dmake} file1="mfile1.mk" file2="mfile2.mk" file3="mfile3.mk" file4="mfile4.mk" tmpfiles="$file1 $file2 $file3 $file4" 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( $ -> \$ ). # Testcase 1 - Warn about miising closing braket. cat > $file1 < $file2 < $file3 < $file4 <&1 ` result1=$? output2=`eval ${DMAKEPROG} -r -f $file2 2>&1 ` result2=$? output3=`eval ${DMAKEPROG} -r -f $file3 2>&1 ` result3=$? output4=`eval ${DMAKEPROG} -r -f $file4 2>&1 ` result4=$? if echo $output1 | grep -v 'Error: -- Syntax error'; then echo "Test 1: Missing error: $output1" result1=0 fi if echo $output2 | grep -v 'Error: -- Syntax error' ; then echo "Test 2: Missing error: $output2" result2=0 fi if echo $output3 | grep -v 'Error: -- Syntax error'; then echo "Test 3: Missing error: $output3" result3=0 fi if test "$output4" != "XLA)YXX:Y"; then echo "Test 2: Wrong result: $output4" result4=1 fi if test $result1 -ne 0 -a $result2 -ne 0 -a $result3 -ne 0 -a $result4 -eq 0; then echo "Success - Cleaning up" rm -rf $tmpfiles exit result=0 else echo "Failure!" result=1 fi exit $result