Salome HOME
Launch salome foreground when gui is activated.
[modules/kernel.git] / bin / appliskel / runTests
1 #!/bin/bash
2 #  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 #  This library is free software; you can redistribute it and/or
8 #  modify it under the terms of the GNU Lesser General Public
9 #  License as published by the Free Software Foundation; either
10 #  version 2.1 of the License.
11 #
12 #  This library is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 #  Lesser General Public License for more details.
16 #
17 #  You should have received a copy of the GNU Lesser General Public
18 #  License along with this library; if not, write to the Free Software
19 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23
24 # --- retrieve APPLI path, relative to $HOME, set ${APPLI}
25
26 APPLI_HOME=`dirname $0`
27 export APPLI=`${APPLI_HOME}/getAppliPath.py`
28
29 # --- set the SALOME environment (prerequisites, MODULES_ROOT_DIR...)
30
31 . ${HOME}/${APPLI}/envd ${HOME}/${APPLI}
32
33 # --- define port for CORBA naming service
34
35 searchFreePort() {
36     echo -n "Searching for a free port for naming service: "
37     export NSPORT=2810
38     local limit=$NSPORT
39     let limit=limit+100
40     while [ 1 ]
41     do
42         aRes=`netstat -ltn | grep -E :${NSPORT}`
43         if [ -z "$aRes" ]; then
44             echo ${NSPORT} - Ok
45             local myhost=`hostname`
46             OMNIORB_CONFIG=${HOME}/${APPLI}/USERS/.omniORB_${USER}_${myhost}_${NSPORT}.cfg
47             export OMNIORB_CONFIG
48             export NSPORT
49             NSHOST=${myhost}
50             export NSHOST
51             local initref="NameService=corbaname::"`hostname`":$NSPORT"
52             #echo "ORBInitRef $initref" > $OMNIORB_CONFIG
53             echo "InitRef = $initref" > $OMNIORB_CONFIG
54             LAST_RUNNING_CONFIG=${HOME}/${APPLI}/USERS/.omniORB_${USER}_${myhost}_test.cfg
55             export LAST_RUNNING_CONFIG
56             rm ${LAST_RUNNING_CONFIG}
57             ln -s ${OMNIORB_CONFIG} ${LAST_RUNNING_CONFIG}
58             break
59         fi
60         echo -n "${NSPORT} "
61         if [[ $NSPORT -eq $limit ]] ; then
62             echo
63             echo "Can't find a free port to launch omniNames"
64             echo "Try to kill the running servers and then launch SALOME again."
65             exit
66         fi
67         let NSPORT=NSPORT+1
68     done
69 }
70
71 # --- if mpi lam, start lam (seems safe to be done several times)
72 #     arret manuel avec lamhalt
73
74 if [ "$LAMBHOST" ]; then
75   lamboot
76 fi
77
78 # --- invoque shell with or without args
79
80 searchFreePort
81
82 if [ $# -ne 0 ] ; then
83     ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/bash --rcfile ${HOME}/${APPLI}/.bashrc -c "$*"
84 else
85
86     ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/bash --rcfile ${HOME}/${APPLI}/.bashrc
87 fi
88
89 rm ${OMNIORB_CONFIG}
90 rm ${LAST_RUNNING_CONFIG}