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
|
---|
26 | if $testdir_exists; then
|
---|
27 | rm -rf $testdir
|
---|
28 | fi
|
---|
29 | mkdir $testdir
|
---|
30 | CLEANUP="$CLEANUP; rm -rf $testdir"
|
---|
31 | cp -r @srcdir@/$testdir/* $testdir/
|
---|
32 | CLEANUP="rm -f stderr stdout diffstderr diffstdout; $CLEANUP"
|
---|
33 | CLEANUP="rm -f *.conf*; rm -f NonConvexEnvelope*; rm -f ${testdir}.xyz; rm -f ${testdir}.dbond; $CLEANUP"
|
---|
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
|
---|
53 | cd $testdir/$RADIUS
|
---|
54 | echo "Current dir is `pwd`, calling $MOLECUILDER $mol.conf -e $exec_prefix -p ../$mol.xyz -N $RADIUS $FILENAME."
|
---|
55 | if [ -e $mol.dbond ]; then
|
---|
56 | $MOLECUILDER -i ../$mol.xyz -A $mol.dbond --select-molecule-by-id 0 -N $RADIUS --nonconvex-file $FILENAME 2>stderr >stdout || exitcode=$?
|
---|
57 | else
|
---|
58 | $MOLECUILDER -i ../$mol.xyz --select-molecule-by-id 0 -N $RADIUS --nonconvex-file $FILENAME 2>stderr >stdout || exitcode=$?
|
---|
59 | fi
|
---|
60 | echo "Molecuilder done with exitcode $exitcode."
|
---|
61 | cd ../..
|
---|
62 | grep -E "^[0-9]* [0-9]* [0-9]*$" @srcdir@/$mol/$2/${FILENAME}-$mol.dat | sort -n >$testdir/$RADIUS/reference-triangles.dat
|
---|
63 | grep -E "^[0-9]* [0-9]* [0-9]*$" $testdir/$RADIUS/${FILENAME}.dat | sort -n >$testdir/$RADIUS/new-triangles.dat
|
---|
64 | diff $testdir/$RADIUS/reference-triangles.dat $testdir/$RADIUS/new-triangles.dat 2>$testdir/$RADIUS/diffstderr >$testdir/$RADIUS/diffstdout || exitcode=$?
|
---|
65 |
|
---|
66 | if test $exitcode = $expected_exitcode; then
|
---|
67 | :
|
---|
68 | else
|
---|
69 | CLEANUP=
|
---|
70 | exit 1
|
---|
71 | fi
|
---|
72 | }
|
---|
73 |
|
---|
74 | # can use $LN_S
|
---|
75 |
|
---|
76 | # vim:set ft=sh:
|
---|