summaryrefslogtreecommitdiff
path: root/scripts/docker/helper
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/docker/helper')
-rwxr-xr-xscripts/docker/helper/run-test.sh67
-rwxr-xr-xscripts/docker/helper/run-tests.sh48
2 files changed, 67 insertions, 48 deletions
diff --git a/scripts/docker/helper/run-test.sh b/scripts/docker/helper/run-test.sh
new file mode 100755
index 00000000..5fd6e4f0
--- /dev/null
+++ b/scripts/docker/helper/run-test.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# Run 2 docker images, one with soledad server and another with a soledad
+# client running a test.
+#
+# As there are many possible, tests, you have to pass an argument to the
+# script saying which test you want to run. Currently, possible values are
+# "connect" and "perf".
+#
+# After launching the server container, 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
+
+# get a test
+if [ ${#} -ne 1 ]; then
+ "Usage: ${0} [perf|connect]"
+ exit 1
+fi
+
+TEST=${1}
+
+# get script name and path
+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
+
+echo "Waiting for soledad server container to come up..."
+
+while [ ${elapsed} -lt ${TIMEOUT} ]; do
+ result=`curl -s http://${server_ip}:2424`
+ if [ ${?} -eq 0 ]; then
+ echo "Soledad server container is up!"
+ 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 unreachable at ${server_ip} after ${TIMEOUT} seconds."
+ exit 1
+fi
+
+# run the client
+if [ "${TEST}" = "connect" ]; then
+ make run-client-test CONTAINER_ID_FILE=${tempfile}
+elif [ "${TEST}" = "perf" ]; then
+ make run-perf-test CONTAINER_ID_FILE=${tempfile}
+ make cp-perf-result CONTAINER_ID_FILE=${tempfile}
+fi
diff --git a/scripts/docker/helper/run-tests.sh b/scripts/docker/helper/run-tests.sh
deleted file mode 100755
index bcd7a565..00000000
--- a/scripts/docker/helper/run-tests.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/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}