2022-12-21 11:48:58 +00:00
|
|
|
#! /bin/bash
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
prog_NAME=$(basename "${0}")
|
|
|
|
|
|
|
|
warn()
|
|
|
|
{
|
|
|
|
echo "${prog_NAME}: WARN: $*"
|
|
|
|
}
|
|
|
|
|
|
|
|
info()
|
|
|
|
{
|
|
|
|
echo "${prog_NAME}: INFO: $*"
|
|
|
|
}
|
|
|
|
|
|
|
|
err()
|
|
|
|
{
|
|
|
|
echo "${prog_NAME}: ERROR: $*" 1>&2
|
|
|
|
}
|
|
|
|
|
|
|
|
die()
|
|
|
|
{
|
|
|
|
echo "${prog_NAME}: ERROR: $*" 1>&2
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
PERFSCRIPT_DIR="$1"
|
|
|
|
PERFDATA_DIR="$2"
|
|
|
|
BIN="$3"
|
|
|
|
SERVER="$4"
|
|
|
|
SERVER_DIR="$5"
|
|
|
|
|
|
|
|
SERVER_W_DIR="$SERVER:$SERVER_DIR"
|
|
|
|
SSH="ssh $SERVER"
|
|
|
|
|
|
|
|
scp "$BIN" "$SERVER_W_DIR"
|
2023-01-10 15:49:44 +00:00
|
|
|
scp -r "$PERFSCRIPT_DIR"/* "$SERVER_W_DIR"
|
2022-12-21 11:48:58 +00:00
|
|
|
|
2023-01-17 10:20:41 +00:00
|
|
|
cleanup () {
|
|
|
|
info killing unikernel
|
|
|
|
$SSH "cd $SERVER_DIR; kill "'$(cat run-unikernel.sh.PID)' || info .. unikernel not running
|
|
|
|
|
|
|
|
info killing git daemon
|
|
|
|
$SSH "cd $SERVER_DIR; kill "'$(cat init.sh.PID)' || info .. git daemon not running
|
|
|
|
|
|
|
|
info running cleanup.sh
|
|
|
|
$SSH "cd $SERVER_DIR; ./cleanup.sh"
|
|
|
|
}
|
|
|
|
|
|
|
|
trap cleanup EXIT
|
|
|
|
|
2022-12-21 11:48:58 +00:00
|
|
|
info initializing context for unikernel
|
2023-01-11 17:48:34 +00:00
|
|
|
$SSH "cd $SERVER_DIR; ./init.sh" &
|
2022-12-21 11:48:58 +00:00
|
|
|
|
2023-01-17 10:20:41 +00:00
|
|
|
info sleeping before starting unipi
|
|
|
|
sleep 5
|
|
|
|
|
|
|
|
info checking if git daemon is still running
|
|
|
|
$SSH "cd $SERVER_DIR; kill -0 "'$(cat init.sh.PID)'
|
|
|
|
|
2022-12-21 11:48:58 +00:00
|
|
|
info running unikernel in background
|
2023-01-11 17:48:34 +00:00
|
|
|
$SSH "cd $SERVER_DIR; ./run-unikernel.sh" &
|
2022-12-21 11:48:58 +00:00
|
|
|
|
|
|
|
info sleeping a bit before test
|
|
|
|
sleep 5
|
|
|
|
|
2023-01-17 10:20:41 +00:00
|
|
|
info checking if unikernel is still running
|
|
|
|
$SSH "cd $SERVER_DIR; kill -0 "'$(cat run-unikernel.sh.PID)'
|
|
|
|
|
2022-12-21 11:48:58 +00:00
|
|
|
info running test
|
2023-01-11 17:48:34 +00:00
|
|
|
$SSH "cd $SERVER_DIR; ./run-test.sh"
|
2022-12-21 11:48:58 +00:00
|
|
|
|
|
|
|
info copying results to "$PERFDATA_DIR"
|
2023-01-11 17:48:34 +00:00
|
|
|
if [ ! -e "$PERFDATA_DIR" ]; then
|
|
|
|
mkdir -p "$PERFDATA_DIR"
|
|
|
|
fi
|
|
|
|
scp "${SERVER_W_DIR}/output/*" "$PERFDATA_DIR"/
|
2022-12-21 11:48:58 +00:00
|
|
|
|
2023-01-17 10:20:41 +00:00
|
|
|
info successfully run test
|
2022-12-21 11:48:58 +00:00
|
|
|
|
|
|
|
|