aboutsummaryrefslogtreecommitdiff
path: root/tests/vm-check.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtests/vm-check.sh127
1 files changed, 0 insertions, 127 deletions
diff --git a/tests/vm-check.sh b/tests/vm-check.sh
deleted file mode 100755
index 695e4d7..0000000
--- a/tests/vm-check.sh
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/bin/sh
-set -eu
-
-usage() {
- cat <<-'EOF'
- Usage:
- vm-check.sh [-x] -t TYPE -H HOST -r REMOTE [-- ARGS]
- vm-check.sh -h
- EOF
-}
-
-help() {
- cat <<-'EOF'
-
-
- Options:
- -x shutdown the VM before running checks
- -t TYPE the type of VM being tested
- -H HOST the name of the host to SSH into
- -r REMOTE the base address of the remote package-repository
- -h, --help show this message
-
-
-
- Run end-to-end tests of the package repository.
- EOF
-}
-
-
-for flag in "$@"; do
- case "$flag" in
- --)
- break
- ;;
- --help)
- usage
- help
- exit
- ;;
- *)
- ;;
- esac
-done
-
-SHUTDOWN=false
-while getopts 'xt:H:r:h' flag; do
- case "$flag" in
- x)
- SHUTDOWN=true
- ;;
- t)
- TYPE="$OPTARG"
- ;;
- H)
- HOST="$OPTARG"
- ;;
- r)
- REMOTE="$OPTARG"
- ;;
- h)
- usage
- help
- exit
- ;;
- *)
- usage >&2
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-eval "$(assert-arg -- "${TYPE:-}" '-t TYPE')"
-eval "$(assert-arg -- "${HOST:-}" '-H HOST')"
-eval "$(assert-arg -- "${REMOTE:-}" '-r REMOTE')"
-
-
-SEP="$(color -c blacki ':')"
-
-pre() {
- # Same as:
- # sed -u "s|^|[$CMD]: |"
- # but the "-u" option is not POSIX
- IFS=''
- while read -r line; do
- printf '%s%s\n' "$1" "$line"
- done
-}
-
-pre_guest() {
- pre "$(color -c green "$HOST")$SEP$(color -c yellow "$TYPE")$SEP "
-}
-
-pre_host() {
- pre "$(color -c blueb "$0")$SEP "
-}
-
-STATUS_F="$(mkstemp)"
-shutdown() {
- STATUS="$(cat "$STATUS_F" || echo 1)"
- rm -f "$STATUS_F"
- if [ "$SHUTDOWN" = true ]; then
- vm down "$HOST" 2>&1 | pre_host
- fi
- exit "$STATUS"
-}
-trap shutdown EXIT
-
-{
-
- {
- if [ "$SHUTDOWN" = true ]; then
- vm down "$HOST"
- fi
- vm up "$HOST"
- untill -m5 -n5 ssh "$HOST" uptime
- scp tests/checks/"$TYPE".sh "$HOST":check.sh
- } 2>&1 | pre_host
-
- {
- STATUS=0
- # shellcheck disable=2029
- ssh "$HOST" sh check.sh "$@" "$REMOTE" || STATUS=$?
- printf '%s' "$STATUS" > "$STATUS_F"
- } 2>&1 | pre_guest
-
-} | ts -s '%.s'