Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / testHarness / OSIG / Turbomachinery / scripts / AdditionalRunFunctions
blobf22eb51ae60f18cddc43a14c52d918b1c06f49a1
1 #------------------------------------------------------------------------------
2 # =========                 |
3 # \\      /  F ield         | foam-extend: Open Source CFD
4 #  \\    /   O peration     |
5 #   \\  /    A nd           | For copyright notice see file Copyright
6 #    \\/     M anipulation  |
7 #------------------------------------------------------------------------------
8 # License
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/>.
24 # Description
25 #    Additionnal run functions, based on the original RunFunctions file
27 # Author:
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()
35    ecode=$?
36    if [ "$reportOnErrorOnlyOnce" ] ; then
37        echo " "
38        echo " => Error running $APP_RUN..."
39        echo " => Here are the last 50 lines of the log file log.$APP_RUN..."
40        echo " "
41        if [ -f log.$APP_RUN ] ; then
42            tail -50 log.$APP_RUN
43            exit $ecode;
44        fi
45    fi
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
56     APP_RUN=$1; shift
58     reportOnErrorOnlyOnce=1
60     if [ -f log.$APP_RUN ] ; then
61         echo "$APP_RUN already run on $PWD: remove log file to run"
62         exit 1;
63     else
64         echo "Running $APP_RUN on $PWD"
65         $APP_RUN $* > log.$APP_RUN 2>&1
66     fi
69 # We force the display of a stack trace if we encounter problems
70 export FOAM_ABORT=1