summaryrefslogtreecommitdiff
path: root/scripts/docker/helper/run-tests.sh
blob: bcd7a5653a5ab29a43176d27ff036585efa26b45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh

# Run 2 docker images, one with soledad server and another with a soledad
# client running the tests.
#
# After launching the server, the script waits for TIMEOUT seconds for it to
# come up. If we fail to detect the server, the script exits with nonzero
# status.


# seconds to wait before giving up waiting from server
TIMEOUT=20

# some info from this script
SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT")

# run the server
tempfile=`mktemp -u`
make run-server CONTAINER_ID_FILE=${tempfile}

# get server container info
container_id=`cat ${tempfile}`
server_ip=`${SCRIPTPATH}/get-container-ip.sh ${container_id}`

# wait for server until timeout
start=`date +%s`
elapsed=0

while [ ${elapsed} -lt ${TIMEOUT} ]; do
  result=`curl http://${server_ip}:2424`
  if [ ${?} -eq 0 ]; then
    break
  else
    sleep 1
  fi
  now=`date +%s`
  elapsed=`expr ${now} - ${start}`
done

# exit with an error code if timed out waiting for server
if [ ${elapsed} -ge ${TIMEOUT} ]; then
  echo "Error: server unreacheble at ${server_ip} after ${TIMEOUT} seconds."
  exit 1
fi

# run the client
make run-client-test CONTAINER_ID_FILE=${tempfile}