diff --git a/srcpkgs/bc/template b/srcpkgs/bc/template index 9c04c423ec..06a6023671 100644 --- a/srcpkgs/bc/template +++ b/srcpkgs/bc/template @@ -25,3 +25,22 @@ fi do_build() { make ${makejobs} LEX="flex -I" } +do_check() { + # LFS tells us that there are 10 know failures + # What happens here + # 1. echo "quit" so bc will quit after running Test/checklib.b + # 2. tee to /dev/tty so the Maintainer will see the output of the tests + # 3. grep the Total failures for any number between 1 and 199 + # 4. cut Total failures: from the numbers + # 5. use awk to sum the numbers + failures="$(echo "quit" | ./bc/bc -l Test/checklib.b | tee /dev/tty | grep 'Total failures: [1-9]\|1[0-9]\|1[0-9][0-9]' | cut -d: -f2 | awk '{s+=$1} END {print s}' )" + + # 6. Check if there are more than then 10 Know test failures as pointed by LFS + # http://www.linuxfromscratch.org/lfs/view/development/chapter06/bc.html + if [ "$failures" -gt 10 ]; then + echo "THERE ARE MORE THAN THE 10 KNOW FAILURES" + return 1 + else + echo "TESTS PASSED" + fi +}