| author | ymh <ymh.work@gmail.com> |
| Fri, 14 Mar 2014 03:08:58 +0100 | |
| changeset 609 | 736fdedb7774 |
| child 628 | ecf0e467eeb8 |
| permissions | -rwxr-xr-x |
|
609
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
#!/bin/bash |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
echo "---------------------" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
echo "Starting test server" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
DEV_FOLDER="<%= @vagrant_base_path %>" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
pushd "$DEV_FOLDER" > /dev/null |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
vagrant ssh -c "/srv/comt/src/cm/scripts/test-suite/start-testserver.sh" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
popd > /dev/null |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
CONNECTION_TIMEOUT=10 |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
TESTSERVER_START_TIMEOUT=15 |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
TESTSERVER_LOOP_WAIT=5 |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
TESTSERVER_WAIT_LOOP_NB=10 |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
SERVER_IP=`grep WORKSPACE_URL workspace.info.full.js | tail -n -1 | cut -d: -f2 | tr -d " //"` |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
SERVER_PORT=`grep WORKSPACE_URL ./workspace.info.full.js | tail -n -1 | cut -d: -f3 | tr -d " ');"` |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
if [[ -x `which nc` ]]; then |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
SERVER_TEST_CMD="nc -G $CONNECTION_TIMEOUT -z $SERVER_IP $SERVER_PORT" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
elif [[ -x `which curl` ]]; then |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
SERVER_TEST_CMD="curl -m $CONNECTION_TIMEOUT --output /dev/null --silent --head --fail http://$SERVER_IP:$SERVER_PORT" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
elif [[ -x `which wget` ]]; then |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
SERVER_TEST_CMD="wget --timeout=$CONNECTION_TIMEOUT -q --spider http://$SERVER_IP:$SERVER_PORT" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
fi |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
echo "$SERVER_TEST_CMD" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
echo "---------------------" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
if [[ -z "$SERVER_TEST_CMD" ]]; then |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
echo "Waiting $TESTSERVER_START_TIMEOUT seconds to let test server start" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
sleep $TESTSERVER_START_TIMEOUT |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
else |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
for i in $(seq 1 $TESTSERVER_WAIT_LOOP_NB); do |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
echo "waiting $TESTSERVER_LOOP_WAIT seconds to let the test server $SERVER_IP:$SERVER_PORT start" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
sleep $TESTSERVER_LOOP_WAIT |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
if $SERVER_TEST_CMD; then |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
break |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
fi |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
done |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
if [ $i -eq $TESTSERVER_WAIT_LOOP_NB ]; then |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
echo "could not start test server $SERVER_IP:$SERVER_PORT" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
exit 1 |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
fi |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
fi |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
echo "---------------------" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
echo "Starting karma tests" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
. ./start-test-suite.sh ./karma.conf.full.js $@ |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
echo "---------------------" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
echo "stopping test server + output test server logs" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
pushd "$DEV_FOLDER" > /dev/null |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
vagrant ssh -c "/srv/comt/src/cm/scripts/test-suite/clean-testserver.sh" |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
popd /dev/null |
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
|
|
736fdedb7774
clean the test-suite folder. create necessary files in dev env
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |