#!/bin/sh # 11.08.2007 Volker Quetschke # Test that recipes with error can be ignored. # (issue 80598) : ${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 - Ignore, but display failed execution. cat > $file1 <&1` result1=$? if test "$result1" = "0" && echo $output1 | grep '(Ignored)' > /dev/null 2>&1 ; then echo "Subtest 1: OK" result1=0 else echo "Subtest 1: Wrong result: $output1" echo result1=1 fi # Test 2 - Ignore, but display failed execution. cat > $file1 <&1` result2=$? if test "$result2" = "0" && echo $output2 | grep '(Ignored)' > /dev/null 2>&1 ; then echo "Subtest 2: OK" result2=0 else echo "Subtest 2: Wrong result: $output2" echo result2=1 fi # Test 3 cat > $file1 <&1` result3=$? if test $result3 != 0 && echo $output3 | grep 'Error code -1, while making ' > /dev/null 2>&1 ; then echo "Subtest 3: OK" result3=0 else echo "Subtest 3: Wrong result: $output3" echo result3=1 fi # Test 4 - Ignore a successfully executed, but failing recipe. cat > $file1 <&1` result4=$? if test "$result4" = "0" -a "$output4" = "false all" ; 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