dev/modules/sysconfig/templates/start-test-suite-full.sh.erb
changeset 609 736fdedb7774
child 628 ecf0e467eeb8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/modules/sysconfig/templates/start-test-suite-full.sh.erb	Fri Mar 14 03:08:58 2014 +0100
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+echo "---------------------"
+echo "Starting test server"
+
+DEV_FOLDER="<%= @vagrant_base_path %>"
+
+pushd "$DEV_FOLDER" > /dev/null
+vagrant ssh -c "/srv/comt/src/cm/scripts/test-suite/start-testserver.sh"
+popd > /dev/null
+
+CONNECTION_TIMEOUT=10
+TESTSERVER_START_TIMEOUT=15
+TESTSERVER_LOOP_WAIT=5
+TESTSERVER_WAIT_LOOP_NB=10
+
+SERVER_IP=`grep WORKSPACE_URL workspace.info.full.js | tail -n -1 | cut -d: -f2 | tr -d " //"`
+SERVER_PORT=`grep WORKSPACE_URL ./workspace.info.full.js | tail -n -1 | cut -d: -f3 | tr -d " ');"`
+
+if [[ -x `which nc` ]]; then
+    SERVER_TEST_CMD="nc -G $CONNECTION_TIMEOUT -z $SERVER_IP $SERVER_PORT"
+elif [[ -x `which curl` ]]; then
+    SERVER_TEST_CMD="curl -m $CONNECTION_TIMEOUT --output /dev/null --silent --head --fail http://$SERVER_IP:$SERVER_PORT"
+elif [[ -x `which wget` ]]; then
+    SERVER_TEST_CMD="wget --timeout=$CONNECTION_TIMEOUT -q --spider http://$SERVER_IP:$SERVER_PORT"
+fi
+echo "$SERVER_TEST_CMD"
+
+echo "---------------------"
+if [[ -z "$SERVER_TEST_CMD" ]]; then
+    echo "Waiting $TESTSERVER_START_TIMEOUT seconds to let test server start"
+    sleep $TESTSERVER_START_TIMEOUT
+else
+    for i in $(seq 1 $TESTSERVER_WAIT_LOOP_NB); do
+        echo "waiting $TESTSERVER_LOOP_WAIT seconds to let the test server $SERVER_IP:$SERVER_PORT start"
+        sleep $TESTSERVER_LOOP_WAIT
+	if $SERVER_TEST_CMD; then
+            break
+        fi
+    done
+    if [ $i -eq $TESTSERVER_WAIT_LOOP_NB ]; then
+         echo "could not start test server $SERVER_IP:$SERVER_PORT"
+         exit 1
+    fi
+fi
+
+echo "---------------------"
+echo "Starting karma tests"
+. ./start-test-suite.sh ./karma.conf.full.js $@
+
+echo "---------------------"
+echo "stopping test server + output test server logs"
+
+pushd "$DEV_FOLDER" > /dev/null
+vagrant ssh -c "/srv/comt/src/cm/scripts/test-suite/clean-testserver.sh"
+popd /dev/null
+
+