source: tests/Tesselations/defs.in@ ad28ef

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since ad28ef was fd3788, checked in by Frederik Heber <heber@…>, 14 years ago

Corrected CLEANUP use for Tesselations tests.

  • CLEANUP wrongly contained cd ..
  • trap is now evaluating CLEANUP variable on call not before.
  • This allows for clearing of CLEANUP in case of execution failure of the test.
  • Property mode set to 100644
File size: 2.2 KB
Line 
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#
6case $VERBOSE in
7 x*) set -x ;;
8esac
9
10pathname=$0
11# next two lines not portable
12basename=${pathname##*/}
13#testdir=${basename%.test}
14testdir=${basename%%.*}
15need_testdir="test -d @srcdir@/$testdir"
16testdir_exists="test -d $testdir"
17EXEEXT=@EXEEXT@
18# next 2 lines not portable
19MOLECUILDER=${MOLECUILDER-"@abs_top_builddir@/src/molecuilder$EXEEXT"}
20exec_prefix="@prefix@/bin"
21DEBUG=${DEBUG-false}
22CLEANUP='rm -f stderr stdout'
23
24if $need_testdir
25then
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"
34fi
35
36# debug runs should keep results
37if $DEBUG; then :; else
38 trap 'eval "$CLEANUP"' 0 1 2 13 15
39fi
40
41# TREMOLO_run status [options...]
42# Run tremolo with OPTIONS, fail if it does not exit with STATUS.
43Tesselation_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:
Note: See TracBrowser for help on using the repository browser.