source: test_all.sh@ 164262

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

FIX,IMPORTANT: Deletion of temporary directory was accidently commented out in test-script.

Please clean all installation files in /tmp manually after applying this patch

  • Property mode set to 100755
File size: 3.4 KB
Line 
1#!/bin/bash
2
3optimizations=("-O0"\
4 "-O1"\
5 "-O2"\
6 "-O3"\
7 "-Os");
8
9options=("" \
10 "-DLOG_OBSERVER" \
11 "-DNO_MEMDEBUG" \
12 "-DNO_CACHING" \
13 "-DNDEBUG" \
14 "-DNO_MEMDEBUG -DLOG_OBSERVER" \
15 "-DNO_CACHING -DLOG_OBSERVER" \
16 "-DNO_CACHING -DNO_MEMDEBUG" \
17 "-DNDEBUG -DNO_CACHING" \
18 "-DNO_CACHING -DNO_MEMDEBUG -DLOG_OBSERVER" \
19 );
20
21outfile="test.log";
22logfile="full.log";
23docheck=0;
24docheck_mem=0;
25
26function usage(){
27 echo "usage $0 options";
28 echo "";
29 echo "This script runs a full test for molecuilder, using several compilation options";
30 echo "";
31 echo "OPTIONS:";
32 echo " -h Show this message"
33 echo " -o <outfile> Outfile to use for test results";
34 echo " -f <logfile> File to use for output from commands";
35 echo " -s Short tests (no memcheck)";
36 echo " -c Only configure and compile (implies -s)";
37 echo " -O <opt-level> Only compile this optimization level";
38}
39
40while getopts “ho:f:scO:” OPTION
41do
42 case $OPTION in
43 h)
44 usage;
45 exit 0;
46 ;;
47 o)
48 outfile=$OPTARG;
49 ;;
50 f)
51 logfile=$OPTARG;
52 ;;
53 s)
54 docheck_mem=1;
55 ;;
56 c)
57 docheck=1;
58 docheck_mem=1;
59 ;;
60 O)
61 optimizations=("-O$OPTARG");
62 ;;
63 ?)
64 usage;
65 exit 1;
66 ;;
67 esac
68done
69
70if [[ -z $outfile ]] || [[ -z $logfile ]]
71then
72 usage;
73 exit 1;
74fi
75
76outfile=`realpath -s $outfile`;
77logfile=`realpath -s $logfile`;
78
79
80BOOST_ROOT=/opt/packages/boost;
81
82function configure(){
83 echo "Configuring";
84 CXXFLAGS="$2" $1/configure --prefix=$PWD >> $logfile 2>&1;
85}
86
87function compile(){
88 echo "Making";
89 make all install >>$logfile 2>&1;
90}
91
92function check(){
93 echo "Checking";
94 make check >> $logfile 2>&1;
95}
96
97function memcheck(){
98 echo "Valgrinding";
99 retval=0;
100 for test in molecuilder/src/unittests/*
101 do
102 if [ -x "$test" ]
103 then
104 echo -n " $test: " >> $outfile;
105 valgrind -v --error-exitcode=255 $test >> $logfile 2>&1;
106 if $?
107 then
108 echo "OK" >> $outfile
109 else
110 echo "FAIL" >> $outfile;
111 retval=1;
112 fi
113 fi
114 done
115 return $retval
116}
117
118function test(){
119
120 echo "Testing with \"$2\"";
121
122 echo -n " Configuring: " >> $outfile;
123 if configure "$1" "$2"
124 then
125 echo "OK" >> $outfile;
126 else
127 echo "FAIL" >> $outfile;
128 return;
129 fi
130
131 echo -n " Compiling: " >> $outfile;
132 if compile
133 then
134 echo "OK" >> $outfile;
135 else
136 echo "FAIL" >> $outfile;
137 return;
138 fi
139
140 if [ $docheck ]
141 then
142 echo -n " Running testsuite: " >> $outfile;
143 if check
144 then
145 echo "OK" >> $outfile;
146 else
147 echo "FAIL" >> $outfile;
148 return;
149 fi
150 fi
151
152 if [ $docheck_mem ]
153 then
154 echo " Checking memory Errors:..." >> $outfile;
155 if memcheck
156 then
157 echo " ...OK" >> $outfile
158 else
159 echo " ...FAIL" >> $outfile
160 return
161 fi
162 fi
163}
164
165
166
167function run(){
168 echo "Testing with \"$1\":" >> $outfile;
169 testdir=`mktemp -d`;
170 basedir=$PWD;
171 cd $testdir;
172 test "$basedir" "$1";
173 cd $basedir;
174 rm -rf $testdir;
175 echo "" >> $outfile;
176}
177
178
179echo -n "Full compilation test for Molecuilder started on " > $outfile;
180date >> $outfile;
181echo "" > $logfile;
182
183for optimization in "${optimizations[@]}"
184do
185 for option in "${options[@]}"
186 do
187 run "$optimization $option";
188 done
189done
190
191echo -n "Full compilation test for Molecuilder on " >> $outfile
192date >> $outfile
Note: See TracBrowser for help on using the repository browser.