From 8f5259b6ce218f8ffeec57fc04cb5c2b782bd959 Mon Sep 17 00:00:00 2001 From: drebs Date: Wed, 8 Jun 2016 17:52:59 -0300 Subject: [test] add docker perf tests --- scripts/docker/helper/run-test.sh | 67 ++++++++++++++++++++++++++++++++++++++ scripts/docker/helper/run-tests.sh | 48 --------------------------- 2 files changed, 67 insertions(+), 48 deletions(-) create mode 100755 scripts/docker/helper/run-test.sh delete mode 100755 scripts/docker/helper/run-tests.sh (limited to 'scripts/docker/helper') 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} -- cgit v1.2.3