source: tests/Tesselations/defs.in@ 12872d

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

FIX: Don't compare tesselation files directly but rather sorted list of triangle nodes.

  • As the order of the triangle's creation is not fixed (unknown why), the order of the triangle nodes in the tesselation files is not fixed.
  • Hence, checking by diff'ing whether it's the same as the reference is not sensible.
  • Now, we pick out the triangle nodes, sort them and compare against reference.
  • 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 cd $testdir
33 CLEANUP="rm -f stderr stdout diffstderr diffstdout; cd ..; $CLEANUP"
34 CLEANUP="rm -f *.conf*; rm -f NonConvexEnvelope*; rm -f ${testdir}.xyz; rm -f ${testdir}.dbond; $CLEANUP"
35fi
36
37# debug runs should keep results
38if $DEBUG; then :; else
39 trap "eval \"$CLEANUP\"" 0 1 2 13 15
40fi
41
42# TREMOLO_run status [options...]
43# Run tremolo with OPTIONS, fail if it does not exit with STATUS.
44Tesselation_run ()
45{
46 # $1 is exit code
47 # $2 is RADIUS
48
49 expected_exitcode=$1
50 mol=$testdir
51 RADIUS=$2
52 FILENAME="NonConvexEnvelope"
53 exitcode=0
54 cd $RADIUS
55 #echo "Current dir is `pwd`, calling $MOLECUILDER $mol.conf -e $exec_prefix -p ../$mol.xyz -N $RADIUS $FILENAME."
56 if [ -e $mol.dbond ]; then
57 $MOLECUILDER $mol.conf -e $exec_prefix -p ../$mol.xyz -A $mol.dbond -N $RADIUS $FILENAME 2>stderr >stdout || exitcode=$?
58 else
59 $MOLECUILDER $mol.conf -e $exec_prefix -p ../$mol.xyz -N $RADIUS $FILENAME 2>stderr >stdout || exitcode=$?
60 fi
61 #echo "Molecuilder done with exitcode $exitcode."
62 #cat stderr
63 #cat stdout
64 grep -E "^[0-9]* [0-9]* [0-9]*$" ../../../../../molecuilder/tests/Tesselations/$mol/$2/${FILENAME}-$mol.dat | sort -n >reference-triangles.dat
65 grep -E "^[0-9]* [0-9]* [0-9]*$" ${FILENAME}.dat | sort -n >new-triangles.dat
66 diff reference-triangles.dat new-triangles.dat 2>diffstderr >diffstdout || exitcode=$?
67 #echo "Diff done with exitcode $exitcode."
68 #cat diffstderr
69 #cat diffstdout
70 cd ..
71 test $exitcode = $expected_exitcode || exit 1
72}
73
74# can use $LN_S
75
76# vim:set ft=sh:
Note: See TracBrowser for help on using the repository browser.