From af4f1eb0cd386e7d6aa06a097998f4bbcbf9bb43 Mon Sep 17 00:00:00 2001 From: Jochen Sprickerhof Date: Fri, 23 Dec 2022 20:55:37 +0100 Subject: Move tests to tests/create-and-run.sh (Closes: #4) --- tests/create-and-run.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 tests/create-and-run.sh (limited to 'tests/create-and-run.sh') diff --git a/tests/create-and-run.sh b/tests/create-and-run.sh new file mode 100755 index 0000000..dfd4022 --- /dev/null +++ b/tests/create-and-run.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# shellcheck disable=SC2086 + +set -ex + +cleanup() { + rm -f ssh_id ssh_id.pub test.ext2 +} + +trap cleanup EXIT INT TERM QUIT + +ssh-keygen -f ssh_id -N '' +debvm-create -k ssh_id.pub -o test.ext2 "$@" + +timeout 240s debvm-run -s 2222 -i test.ext2 & +timeout=5 +sshopt="-o StrictHostKeyChecking=no $(if test "$2" = jessie; then echo -o PubkeyAcceptedKeyTypes=+ssh-rsa; fi)" +ts=$(sleepenh 0 || [ $? -eq 1 ]) +for i in $(seq 30); do + rv=0 + ssh $sshopt -o ConnectTimeout="$timeout" -i ssh_id -p 2222 root@localhost echo success || rv=$? + test $rv -eq 0 && break + ts=$(sleepenh "$ts" "$timeout" || [ $? -eq 1 ]); + if test "$i" -eq 30; then + echo "timeout reached" >&2 + exit 1 + fi +done +ssh $sshopt -i ssh_id -p 2222 root@localhost poweroff -- cgit v1.2.3