src/cm/scripts/test-suite/start-test-suite-full.sh
author ymh <ymh.work@gmail.com>
Wed, 12 Mar 2014 16:52:58 +0100
changeset 597 6cbcec19079b
permissions -rwxr-xr-x
add automated script for test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
597
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
#!/bin/bash
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
echo "---------------------"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
echo "Starting test server"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
pushd ../../../../dev > /dev/null
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
vagrant ssh -c "/srv/comt/src/cm/scripts/test-suite/start-testserver.sh"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
popd > /dev/null
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
SERVER_IP=`grep WORKSPACE_URL workspace.info.full.js | tail -n -1 | cut -d: -f2 | tr -d " //"`
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
SERVER_PORT=`grep WORKSPACE_URL ./workspace.info.full.js | tail -n -1 | cut -d: -f3 | tr -d " ');"`
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
if [[ -x `which nc` ]]; then
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    SERVER_TEST_CMD="nc -z $SERVER_IP $SERVER_PORT"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
elif [[ -x `which curl` ]]; then
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    SERVER_TEST_CMD="curl --output /dev/null --silent --head --fail http://$SERVER_IP:$SERVER_PORT"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
elif [[ -x `which wget` ]]; then
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    SERVER_TEST_CMD="wget -q --spider http://$SERVER_IP:$SERVER_PORT"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
fi
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
echo "$SERVER_TEST_CMD"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
echo "---------------------"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
if [[ -z "$SERVER_TEST_CMD" ]]; then
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    echo "Waiting 10 seconds to let test server start"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    sleep 10
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
else
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    for i in {1..10}; do
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
        echo "waiting 5 seconds to let the test server $SERVER_IP:$SERVER_PORT start"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
        sleep 5
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
	if $SERVER_TEST_CMD; then
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
            break
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
        fi
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
    done
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    if [ $i -eq 10 ]; then
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
         echo "could not start test server $SERVER_IP:$SERVER_PORT"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
         exit 1
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    fi
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
fi
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
echo "---------------------"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
echo "Starting karma tests"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
. ./start-test-suite.sh ./karma.conf.full.js $@
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
echo "---------------------"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
echo "stopping test server + output test server logs"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
pushd ../../../../dev > /dev/null
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
vagrant ssh -c "/srv/comt/src/cm/scripts/test-suite/clean-testserver.sh"
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
popd /dev/null
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
6cbcec19079b add automated script for test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51