Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / tutorials / Allrun
blob47b8f2fbe65eddb799a8db2a1b2b05ba03ff0480
1 #!/bin/sh
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | foam-extend: Open Source CFD
5 # \\ / O peration | Version: 3.2
6 # \\ / A nd | Web: http://www.foam-extend.org
7 # \\/ M anipulation | For copyright notice see file Copyright
8 #------------------------------------------------------------------------------
9 # License
10 # This file is part of foam-extend.
12 # foam-extend is free software: you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by the
14 # Free Software Foundation, either version 3 of the License, or (at your
15 # option) any later version.
17 # foam-extend is distributed in the hope that it will be useful, but
18 # WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 # General Public License for more details.
22 # You should have received a copy of the GNU General Public License
23 # along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
25 # Script
26 # Allrun
28 # Description
30 #------------------------------------------------------------------------------
32 # Source tutorial run functions
33 . $WM_PROJECT_DIR/bin/tools/RunFunctions
35 # logReport <logfile>
36 # Extracts useful info from log file.
37 logReport () {
38 case=`dirname $1 | sed s/"\(.*\)\.\/"/""/g`
39 app=`echo $1 | sed s/"\(.*\)\."/""/g`
40 appAndCase="Application $app - case $case"
42 fatalError=`grep "FOAM FATAL" $1`
43 UxSS=`grep -E "Ux[:| ]*solution singularity" $1`
44 UySS=`grep -E "Uy[:| ]*solution singularity" $1`
45 UzSS=`grep -E "Uz[:| ]*solution singularity" $1`
46 completed=`grep -E "^[\t ]*[eE]nd" $1`
48 if [ "$fatalError" ] ; then
49 echo "$appAndCase: ** FOAM FATAL ERROR **"
50 return
51 elif [ "$UxSS" -a "$UySS" -a "$UzSS" ] ; then
52 echo "$appAndCase: ** Solution singularity **"
53 return
54 elif [ "$completed" ] ; then
55 completionTime=`tail -10 $log | grep Execution | cut -d= -f2 | sed 's/^[ \t]*//'`
56 if [ "$completionTime" ] ; then
57 completionTime="in $completionTime"
59 echo "$appAndCase: completed $completionTime"
60 return
61 else
62 echo "$appAndCase: unconfirmed completion"
67 # Recursively run all tutorials
68 foamRunTutorials cases
71 # Analyse all log files
72 rm testLoopReport > /dev/null 2>&1 &
73 touch testLoopReport
74 for application in *
76 if [ -d $application ]
77 then
78 cd $application
79 for log in `find . -name "log.*" | xargs ls -rt`
81 logReport $log >> ../testLoopReport
82 done
83 echo "" >> ../testLoopReport
84 cd ..
86 done
88 find . -name "log.*" -exec cat {} \; >> logs
91 # ----------------------------------------------------------------- end-of-file