| #!/bin/bash |
| ## |
| ## Name: test.sh |
| ## Purpose: Run test suites for IMath library. |
| ## |
| ## Copyright (C) 2002-2007 Michael J. Fromberger. All Rights Reserved. |
| ## |
| |
| set -o pipefail |
| |
| if [ ! -f ../imtest ] ; then |
| echo "I can't find the imath test driver 'imtest', did you build it?" |
| echo "I can't proceed with the unit tests until you do so, sorry." |
| exit 2 |
| fi |
| |
| echo "-- Running all available unit tests" |
| if ../imtest *.tc | (grep -v 'OK'||true) ; then |
| echo "ALL PASSED" |
| else |
| echo "FAILED" |
| exit 1 |
| fi |
| |
| echo "" |
| echo "-- Running test to compute 1024 decimal digits of pi" |
| if [ ! -f ../pi ] ; then |
| echo "I can't find the pi computing program, did you build it?" |
| echo "I can't proceed with the pi test until you do so, sorry." |
| exit 1 |
| fi |
| |
| tempfile="/tmp/pi.1024.$$" |
| |
| ../pi 1024 | tr -d '\r\n' > ${tempfile} |
| if cmp -s ${tempfile} ./pi1024.txt ; then |
| echo " PASSED 1024 digits" |
| else |
| echo " FAILED" |
| echo "Obtained:" |
| cat ${tempfile} |
| echo "Expected:" |
| cat ./pi1024.txt |
| fi |
| rm -f ${tempfile} |
| |
| tempfile="/tmp/pi.1698.$$" |
| |
| echo "-- Running test to compute 1698 hexadecimal digits of pi" |
| |
| ../pi 1698 16 | tr -d '\r\n' > ${tempfile} |
| if cmp -s ${tempfile} ./pi1698-16.txt ; then |
| echo " PASSED 1698 digits" |
| else |
| echo " FAILED" |
| echo "Obtained:" |
| cat ${tempfile} |
| echo "Expected:" |
| cat ./pi1698-16.txt |
| fi |
| rm -f ${tempfile} |
| |
| tempfile="/tmp/pi.1500.$$" |
| |
| echo "-- Running test to compute 1500 decimal digits of pi" |
| |
| ../pi 1500 10 | tr -d '\r\n' > ${tempfile} |
| if cmp -s ${tempfile} ./pi1500-10.txt ; then |
| echo " PASSED 1500 digits" |
| else |
| echo " FAILED" |
| echo "Obtained:" |
| cat ${tempfile} |
| echo "Expected:" |
| cat ./pi1500-10.txt |
| fi |
| rm -f ${tempfile} |
| |
| echo "-- Running regression tests" |
| |
| for bug in bug-swap ; do |
| ../${bug} |
| done |
| |
| exit 0 |