Merge branch 'upstream/OpenFOAM' into master
[freefoam.git] / tutorials / Allrun.in
blobcf7baff8ea60ffec67a56fbfa7cc7a9e58cce7d5
1 #!/bin/sh
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 # \\ / O peration |
6 # \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
7 # \\/ M anipulation |
8 #------------------------------------------------------------------------------
9 # License
10 # This file is part of OpenFOAM.
12 # OpenFOAM 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 2 of the License, or (at your
15 # option) any later version.
17 # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
18 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
20 # for more details.
22 # You should have received a copy of the GNU General Public License
23 # along with OpenFOAM; if not, write to the Free Software Foundation,
24 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 # Script
27 # Allrun
29 # Description
31 #------------------------------------------------------------------------------
33 cd ${0%/*} || exit 1 # run from this directory
35 # Source tutorial run functions
36 . @FF_DATA_DIR@/shellFunctions/RunFunctions
38 # Alltest changes this to yes...
39 export FREEFOAM_TEST_MODE=no
40 if [ "$FREEFOAM_TEST_MODE" == "yes" ]; then
41 # Alltest changes this to the top test directory...
42 export FREEFOAM_CONFIG_DIR='${TEST_CONFIG_DIR}'
45 # logReport <logfile>
46 # Extracts useful info from log file.
47 logReport () {
48 case=`dirname $1 | sed s/"\(.*\)\.\/"/""/g`
49 app=`echo $1 | sed s/"\(.*\)\."/""/g`
50 appAndCase="Application $app - case $case"
52 fatalError=`grep "FOAM FATAL" $1`
53 UxSS=`grep -E "Ux[:| ]*solution singularity" $1`
54 UySS=`grep -E "Uy[:| ]*solution singularity" $1`
55 UzSS=`grep -E "Uz[:| ]*solution singularity" $1`
56 completed=`grep -E "^[\t ]*[eE]nd" $1`
58 if [ "$fatalError" ]
59 then
60 echo "$appAndCase: ** FOAM FATAL ERROR **"
61 return
62 elif [ "$UxSS" -a "$UySS" -a "$UzSS" ]
63 then
64 echo "$appAndCase: ** Solution singularity **"
65 return
66 elif [ "$completed" ]
67 then
68 completionTime=`tail -10 $log | grep Execution | cut -d= -f2 | sed 's/^[ \t]*//'`
69 if [ "$completionTime" ]
70 then
71 completionTime="in $completionTime"
73 echo "$appAndCase: completed $completionTime"
74 return
75 else
76 echo "$appAndCase: unconfirmed completion"
81 # Recursively run all tutorials
82 @FF_DATA_DIR@/utilities/foamRunTutorials cases
85 # Analyse all log files
86 rm testLoopReport > /dev/null 2>&1 &
87 touch testLoopReport
88 for application in *
90 if [ -d $application ]
91 then
92 cd $application
93 for log in `find . -name "log.*" | xargs ls -rt`
95 logReport $log >> ../testLoopReport
96 done
97 echo "" >> ../testLoopReport
98 cd ..
100 done
102 find . -name "log.*" -exec cat {} \; >> logs
104 # ----------------------------------------------------------------- end-of-file