File: checkresults.sh

package info (click to toggle)
apbs 1.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 38,840 kB
  • ctags: 7,893
  • sloc: ansic: 44,537; xml: 21,399; sh: 20,613; fortran: 17,796; yacc: 2,922; python: 2,804; makefile: 567; lex: 294; sed: 205; java: 134; awk: 26
file content (38 lines) | stat: -rwxr-xr-x 1,188 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash

########################################################################
# result	= actual result obtained								 
# expected	= results based on default test config
# testfile	= name of the .in file used in this run
########################################################################

result=$1
expected=$2
testfile=$3
logfile=$4

# Error tolerance as a percentage of 
errortol=0.0001

error=`echo $result $expected | awk '{printf("%.12f",(($1 - $2)*100)/$2)}'`
relativeError=`echo $error | awk '{$1 = ($1 < 0) ? -$1 : $1; print}'`

r=`echo $result $expected $relativeError $errortol | awk '{if($1 == $2) print 1; else if($3 < $4) print 2; else print 3}'`

case "$r" in

	1) echo "*** PASSED ***"
	   echo "$testfile: PASSED ($result)" >> $logfile
	   ;;
	2) echo "*** PASSED (with rounding error - see log) ***"
	   echo "$testfile: PASSED within error ($result; expected $expected; $relativeError% error)" >> $logfile
	   ;;
	3) echo "*** FAILED ***"
       echo "   APBS returned $result"
       echo "   Expected result is $expected ($error% error)"
	   echo "$testfile: FAILED ($result; expected $expected; $relativeError% error)" >> $logfile
	   ;;
esac

exit 0