diff --git a/sandbox/jenkins-test b/sandbox/jenkins-test index afd51ac9..4b3d4cfe 100755 --- a/sandbox/jenkins-test +++ b/sandbox/jenkins-test @@ -63,7 +63,7 @@ export PATH="$PATH:/usr/sbin:$MYSQL_BASE_DIR/bin" ############################# sandbox/test-env checkconfig || exit 1 sandbox/test-env stop || exit 1 -sandbox/test-env kill +sandbox/test-env kill || exit 1 sandbox/test-env start || exit 1 ####################### diff --git a/sandbox/stop-sandbox b/sandbox/stop-sandbox index e9a10c25..68776034 100755 --- a/sandbox/stop-sandbox +++ b/sandbox/stop-sandbox @@ -17,8 +17,14 @@ for port in "$@"; do continue fi - /tmp/$port/stop - exit_status=$((exit_status | $?)) + if [ -x "/tmp/$port/stop" ]; then + /tmp/$port/stop + exit_status=$((exit_status | $?)) + else + echo "/tmp/$port is missing files:" >&2 + ls -la /tmp/$port >&2 + fi + rm -rf /tmp/$port exit_status=$((exit_status | $?)) done diff --git a/sandbox/test-env b/sandbox/test-env index fb71172e..cd1f94e5 100755 --- a/sandbox/test-env +++ b/sandbox/test-env @@ -184,7 +184,6 @@ sandbox_is_running() { kill_sandbox() { local p=$1 - local rmdir=1 # See if the sandbox server is running. sandbox_is_running $p @@ -194,7 +193,7 @@ kill_sandbox() { mysqladmin -h127.1 -P$p -umsandbox -pmsandbox shutdown >/dev/null 2>&1 mysqladmin -h127.1 -P$p -uroot -pmsandbox shutdown >/dev/null 2>&1 mysqladmin -h127.1 -P$p -uroot shutdown >/dev/null 2>&1 - sleep 1 + sleep 2 # See if the sandbox server is still running. sandbox_is_running $p @@ -204,13 +203,13 @@ kill_sandbox() { pid2=`ps xw | grep -v grep | grep -v mysqld_safe | grep mysqld | grep /tmp/$p | awk '{print $1}'` [ "$pid1" ] && kill -9 $pid1 # Die, damn you, die! [ "$pid2" ] && kill -9 $pid2 - sleep 1 + sleep 2 # Third and finaly check if the sandbox server is running. sandbox_is_running $p if [ $? -eq 0 ]; then err "Failed to kill MySQL test server on port $p (PID $pid1, $pid2)" - rmdir=0 + return 1 else echo "Killed MySQL test server on port $p (PID $pid1, $pid2)" fi @@ -219,12 +218,12 @@ kill_sandbox() { fi fi - if [ $rmdir -eq 1 ] && [ -d "/tmp/$p" ]; then + if [ -d "/tmp/$p" ]; then rm -rf /tmp/$p echo "Removed /tmp/$p" fi - return + return 0 } MYSQL_VERSION="" @@ -327,6 +326,7 @@ case $opt in # when a polite stop fails. It uses kill -9 as a last resort. for port in 12349 12348 12347 12346 12345 2903 2902 2901 2900; do kill_sandbox $port + exit_status=$((exit_status | $?)) done ;; restart)