1 #------------------------------------------------------------------------------
3 # \\ / F ield | foam-extend: Open Source CFD
5 # \\ / A nd | For copyright notice see file Copyright
7 #------------------------------------------------------------------------------
9 # This file is part of foam-extend.
11 # foam-extend is free software: you can redistribute it and/or modify it
12 # under the terms of the GNU General Public License as published by the
13 # Free Software Foundation, either version 3 of the License, or (at your
14 # option) any later version.
16 # foam-extend is distributed in the hope that it will be useful, but
17 # WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 # General Public License for more details.
21 # You should have received a copy of the GNU General Public License
22 # along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
25 # Additionnal run functions, based on the original RunFunctions file
28 # Martin Beaudoin, Hydro-Quebec, 2010. All rights reserved
30 #------------------------------------------------------------------------------
32 # Exception handler: dump the tail of the log file on error
33 verbose_report_on_runApplication_error()
36 if [ "$reportOnErrorOnlyOnce" ] ; then
38 echo " => Error running $APP_RUN..."
39 echo " => Here are the last 50 lines of the log file log.$APP_RUN..."
41 if [ -f log.$APP_RUN ] ; then
47 # Do not report again when exiting
48 unset reportOnErrorOnlyOnce
51 # Variation of runApplication with exception handling
52 runApplicationAndReportOnError ()
54 trap 'verbose_report_on_runApplication_error' ERR
58 reportOnErrorOnlyOnce=1
60 if [ -f log.$APP_RUN ] ; then
61 echo "$APP_RUN already run on $PWD: remove log file to run"
64 echo "Running $APP_RUN on $PWD"
65 $APP_RUN $* > log.$APP_RUN 2>&1
69 # We force the display of a stack trace if we encounter problems