| [4fc93f] | 1 | # -*- shell-script -*-
 | 
|---|
 | 2 | # @configure_input@
 | 
|---|
 | 3 | # Set variables and functions to use in tests.
 | 
|---|
 | 4 | # This is copied from the TREMOLO project, credits Ralf Wildenhues, modified Frederik Heber.
 | 
|---|
 | 5 | #
 | 
|---|
 | 6 | case $VERBOSE in
 | 
|---|
 | 7 |         x*) set -x ;;
 | 
|---|
 | 8 | esac
 | 
|---|
 | 9 | 
 | 
|---|
 | 10 | pathname=$0
 | 
|---|
 | 11 | # next two lines not portable
 | 
|---|
 | 12 | basename=${pathname##*/}
 | 
|---|
 | 13 | #testdir=${basename%.test}
 | 
|---|
 | 14 | testdir=${basename%%.*}
 | 
|---|
 | 15 | need_testdir="test -d @srcdir@/$testdir"
 | 
|---|
 | 16 | testdir_exists="test -d $testdir"
 | 
|---|
 | 17 | EXEEXT=@EXEEXT@
 | 
|---|
 | 18 | # next 2 lines not portable
 | 
|---|
 | 19 | MOLECUILDER=${MOLECUILDER-"@abs_top_builddir@/src/molecuilder$EXEEXT"}
 | 
|---|
 | 20 | exec_prefix="@prefix@/bin"
 | 
|---|
 | 21 | DEBUG=${DEBUG-false}
 | 
|---|
 | 22 | CLEANUP='rm -f stderr stdout'
 | 
|---|
 | 23 | 
 | 
|---|
 | 24 | if $need_testdir
 | 
|---|
 | 25 | then
 | 
|---|
| [bdedb1] | 26 |         if $testdir_exists; then
 | 
|---|
 | 27 |                 rm -rf $testdir
 | 
|---|
| [4fc93f] | 28 |         fi
 | 
|---|
| [bdedb1] | 29 |         mkdir $testdir
 | 
|---|
 | 30 |         CLEANUP="$CLEANUP; rm -rf $testdir"
 | 
|---|
 | 31 |         cp -r @srcdir@/$testdir/* $testdir/
 | 
|---|
| [4fc93f] | 32 |         CLEANUP="rm -f stderr stdout diffstderr diffstdout; cd ..; $CLEANUP"
 | 
|---|
| [491876] | 33 |         CLEANUP="rm -f *.conf*; rm -f NonConvexEnvelope*; rm -f ${testdir}.xyz; rm -f ${testdir}.dbond; $CLEANUP"
 | 
|---|
| [4fc93f] | 34 | fi
 | 
|---|
 | 35 | 
 | 
|---|
 | 36 | # debug runs should keep results
 | 
|---|
 | 37 | if $DEBUG; then :; else
 | 
|---|
 | 38 |         trap "eval \"$CLEANUP\"" 0 1 2 13 15
 | 
|---|
 | 39 | fi
 | 
|---|
 | 40 | 
 | 
|---|
 | 41 | # TREMOLO_run status [options...]
 | 
|---|
 | 42 | # Run tremolo with OPTIONS, fail if it does not exit with STATUS.
 | 
|---|
 | 43 | Tesselation_run ()
 | 
|---|
 | 44 | {
 | 
|---|
 | 45 |         # $1 is exit code
 | 
|---|
 | 46 |         # $2 is RADIUS
 | 
|---|
 | 47 |         
 | 
|---|
 | 48 |         expected_exitcode=$1
 | 
|---|
 | 49 |         mol=$testdir
 | 
|---|
 | 50 |         RADIUS=$2
 | 
|---|
 | 51 |         FILENAME="NonConvexEnvelope"
 | 
|---|
 | 52 |         exitcode=0
 | 
|---|
| [318cea] | 53 |         cd $testdir/$RADIUS
 | 
|---|
| [bdedb1] | 54 |         #echo "Current dir is `pwd`, calling $MOLECUILDER $mol.conf -e $exec_prefix -p ../$mol.xyz -N $RADIUS $FILENAME."
 | 
|---|
| [4fc93f] | 55 |         if [ -e $mol.dbond ]; then
 | 
|---|
| [980dd6] | 56 |                 $MOLECUILDER $mol.conf -e $exec_prefix -p ../$mol.xyz -A $mol.dbond -N 0 --sphere-radius $RADIUS --nonconvex-file $FILENAME 2>stderr >stdout || exitcode=$?
 | 
|---|
| [4fc93f] | 57 |         else
 | 
|---|
| [980dd6] | 58 |                 $MOLECUILDER $mol.conf -e $exec_prefix -p ../$mol.xyz -N 0 --sphere-radius $RADIUS --nonconvex-file $FILENAME 2>stderr >stdout || exitcode=$?
 | 
|---|
| [4fc93f] | 59 |         fi
 | 
|---|
| [bdedb1] | 60 |         #echo "Molecuilder done with exitcode $exitcode."
 | 
|---|
| [be97a8] | 61 |         cd ../..
 | 
|---|
| [4fc93f] | 62 |         #cat stderr
 | 
|---|
 | 63 |         #cat stdout
 | 
|---|
| [be97a8] | 64 |         grep -E "^[0-9]* [0-9]* [0-9]*$" @srcdir@/$mol/$2/${FILENAME}-$mol.dat | sort -n >$testdir/$RADIUS/reference-triangles.dat
 | 
|---|
 | 65 |         grep -E "^[0-9]* [0-9]* [0-9]*$" $testdir/$RADIUS/${FILENAME}.dat | sort -n >$testdir/$RADIUS/new-triangles.dat
 | 
|---|
 | 66 |         diff $testdir/$RADIUS/reference-triangles.dat $testdir/$RADIUS/new-triangles.dat 2>$testdir/$RADIUS/diffstderr >$testdir/$RADIUS/diffstdout || exitcode=$?
 | 
|---|
| [bdedb1] | 67 |         #echo "Diff done with exitcode $exitcode."
 | 
|---|
 | 68 |         #cat diffstderr
 | 
|---|
 | 69 |         #cat diffstdout
 | 
|---|
| [4fc93f] | 70 |         test $exitcode = $expected_exitcode || exit 1
 | 
|---|
 | 71 | }
 | 
|---|
 | 72 | 
 | 
|---|
 | 73 | # can use $LN_S
 | 
|---|
 | 74 | 
 | 
|---|
 | 75 | # vim:set ft=sh:
 | 
|---|