source: tests/Fragmentations/defs.in@ 038713

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 038713 was 038713, checked in by Frederik Heber <heber@…>, 14 years ago

Added Fragmentations test in the spirit of the Tesselations test.

  • configuration were taken over from Tesselations.
  • defs.in has been adapted to a new function called Fragmentation_run
  • the test files call this function along with order and distance argument.
  • so far we just check that exitcode of molecuilder is 0.
  • all tests are working.
  • Property mode set to 100644
File size: 1.9 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"}
20DEBUG=${DEBUG-false}
21CLEANUP='rm -f stdout'
22FRAGMENTPREFIX='BondFragment'
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 stdout; $CLEANUP"
33 CLEANUP="rm -f *.conf*; 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.
43Fragmentation_run ()
44{
45 # $1 is exit code
46 # $2 is ORDER
47 # $3 is DISTANCE
48
49 expected_exitcode=$1
50 mol=$testdir
51 ORDER=$2
52 DISTANCE=$3
53 FILENAME="${FRAGMENTPREFIX}"
54 exitcode=0
55 mkdir -p $testdir/$order
56 cd $testdir/$order
57 echo "Current dir is `pwd`, calling $MOLECUILDER $mol.conf --select-molecule-by-id 0 -f $FILENAME --order $ORDER --distance $DISTANCE."
58 if [ -e $mol.dbond ]; then
59 $MOLECUILDER -i ../$mol.xyz -A $mol.dbond --select-molecule-by-id 0 -f $FILENAME --order $ORDER --distance $DISTANCE &>stdout || exitcode=$?
60 else
61 $MOLECUILDER -i ../$mol.xyz --select-molecule-by-id 0 -f $FILENAME --order $ORDER --distance $DISTANCE $>stdout || exitcode=$?
62 fi
63 cat <stdout
64 echo "Molecuilder done with exitcode $exitcode."
65 cd ../..
66 if test $exitcode = $expected_exitcode; then
67 :
68 else
69 # Dont clean up
70 CLEANUP=
71 exit 1
72 fi
73}
74
75# can use $LN_S
76
77# vim:set ft=sh:
Note: See TracBrowser for help on using the repository browser.