[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."
|
---|
[4fc93f] | 61 | #cat stderr
|
---|
| 62 | #cat stdout
|
---|
[12872d] | 63 | grep -E "^[0-9]* [0-9]* [0-9]*$" ../../../../../molecuilder/tests/Tesselations/$mol/$2/${FILENAME}-$mol.dat | sort -n >reference-triangles.dat
|
---|
| 64 | grep -E "^[0-9]* [0-9]* [0-9]*$" ${FILENAME}.dat | sort -n >new-triangles.dat
|
---|
| 65 | diff reference-triangles.dat new-triangles.dat 2>diffstderr >diffstdout || exitcode=$?
|
---|
[bdedb1] | 66 | #echo "Diff done with exitcode $exitcode."
|
---|
| 67 | #cat diffstderr
|
---|
| 68 | #cat diffstdout
|
---|
[318cea] | 69 | cd ../..
|
---|
[4fc93f] | 70 | test $exitcode = $expected_exitcode || exit 1
|
---|
| 71 | }
|
---|
| 72 |
|
---|
| 73 | # can use $LN_S
|
---|
| 74 |
|
---|
| 75 | # vim:set ft=sh:
|
---|