X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=salome_run.sh;h=ddb38bb5daf00cef78a0c5780ced41e81d77882e;hb=b5a519fd9e5b52c7fba708d39a7bfc807a8bdba4;hp=e4dc6bd9527f5165eb18f7a981026990c7ac6393;hpb=f6ce73bc9fabee28145cde13f16846c7c5c1dec0;p=modules%2Fshaper.git diff --git a/salome_run.sh b/salome_run.sh index e4dc6bd95..ddb38bb5d 100755 --- a/salome_run.sh +++ b/salome_run.sh @@ -1,12 +1,64 @@ -#!/bin/sh +#!/bin/bash -x -export ROOT_DIR=$(pwd)/.. +a_dir=$(dirname $0) -source ${ROOT_DIR}/sources/salome_env.sh +cd ${a_dir} -# Correcting path which defined with error -export LD_LIBRARY_PATH=${KERNEL_ROOT_DIR}/lib/salome:${LD_LIBRARY_PATH} +source ${a_dir}/env.sh +source ${a_dir}/env_salome.sh -export LightAppConfig=${ROOT_DIR}/install/share/salome/resources/newgeom:${GUI_ROOT_DIR}/share/salome/resources/gui +SALOME_ARGS="-r ./test.squish/shared/testdata/SalomeApp.xml" +if [ -f GDB ]; then + echo "No --gdb-session" + #SALOME_ARGS="${SALOME_ARGS} --gdb-session" +fi +SALOME_ARGS="${SALOME_ARGS} --ns-port-log=$(pwd)/.salomeport" + +# kill processes of previous SALOME run +if [ -f .salomeport ]; then + SALOME_PORT=$(cat .salomeport) + ${KERNEL_ROOT_DIR}/bin/salome/killSalomeWithPort.py ${SALOME_PORT} + pkill -f "omniNames -start ${SALOME_PORT}" + rm .salomeport +fi + +${KERNEL_ROOT_DIR}/bin/salome/runSalome.py ${SALOME_ARGS} >log_runSalome 2>err_runSalome & +SALOME_PID=$! + +ATTEMPT=0 +while [[ -f .salomeport && ${ATTEMPT} -lt 5 ]]; do + sleep 5 + SALOME_PORT=$(cat .salomeport) + ATTEMPT=$[${ATTEMPT}+1] +done +if [ ${ATTEMPT} = 5 ]; then + echo "Can not receive SALOME_PORT: file .salomeport does not exist..." + exit 1 +fi + +echo "SALOME_PORT ${SALOME_PORT}" + +if [ -f GDB ]; then + SALOME_SESSION_SERVER_PID="$(salome_pid.py ${SALOME_PORT} 'SALOME_Session_Server' 2>/dev/null)" + ATTEMPT=0 + while [[ "${SALOME_SESSION_SERVER_PID}" = "" && "${ATTEMPT}" -lt 5 ]]; do + sleep 5 + SALOME_SESSION_SERVER_PID="$(salome_pid.py ${SALOME_PORT} 'SALOME_Session_Server' 2>/dev/null)" + ATTEMPT=$[${ATTEMPT}+1] + done + if [ ${ATTEMPT} = 5 ]; then + echo "Can not receive SALOME_SESSION_SERVER_PID..." + exit 2 + fi + + echo "SALOME_SESSION_SERVER_PID ${SALOME_SESSION_SERVER_PID}" + echo "Connecting GDB to PID ${SALOME_SESSION_SERVER_PID}..." + gdb - ${SALOME_SESSION_SERVER_PID} >>log_gdb_salome 2>>err_gdb_salome +fi + +wait ${SALOME_PID} + +echo "Kill SALOME on port ${SALOME_PORT}" +${KERNEL_ROOT_DIR}/bin/salome/killSalomeWithPort.py ${SALOME_PORT} +pkill -f "omniNames -start ${SALOME_PORT}" -SUITApp LightApp -style salome --modules=NewGeom --uselicense --noexcepthandling \ No newline at end of file