summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/create-and-run.sh2
-rwxr-xr-xtests/efi-create-and-run.sh46
-rwxr-xr-xtests/shell_interaction.expect2
3 files changed, 48 insertions, 2 deletions
diff --git a/tests/create-and-run.sh b/tests/create-and-run.sh
index 1d0a56d..fab04bc 100755
--- a/tests/create-and-run.sh
+++ b/tests/create-and-run.sh
@@ -69,4 +69,4 @@ debvm-waitssh -t 540 "$SSH_PORT"
run_ssh "$@" poweroff
wait
-"$(dirname "$0")/shell_interaction.expect" -- -i "$IMAGE"
+"$(dirname "$0")/shell_interaction.expect" -- debvm-run -i "$IMAGE"
diff --git a/tests/efi-create-and-run.sh b/tests/efi-create-and-run.sh
new file mode 100755
index 0000000..2b70662
--- /dev/null
+++ b/tests/efi-create-and-run.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+if test "$#" -ne 2; then
+ echo "$(basename "$0") takes two positional arguments: architecture and release" 1>&2
+ exit 1
+fi
+ARCHITECTURE=$1
+RELEASE=$2
+SSH_KEYPATH=ssh_id
+IMAGE=test.img
+
+set -eux
+
+. "$(dirname "$0")/test_common.sh"
+
+cleanup() {
+ rm -f "$SSH_KEYPATH" "$SSH_KEYPATH.pub" "$IMAGE"
+}
+
+trap cleanup EXIT INT TERM QUIT
+
+ssh-keygen -f "$SSH_KEYPATH" -N ''
+set -- --
+if test -z "$RELEASE"; then
+ # The ordering of maybe-merged-usr and
+ # copy-host-apt-sources-and-preferences is unfortunately the wrong way
+ # round. Therefore, we make debvm-create skip it and pass it ourselves.
+ # The final empty string is the mirror specification.
+ set -- \
+ --skip=usrmerge \
+ "$@" \
+ --hook-dir=/usr/share/mmdebstrap/hooks/copy-host-apt-sources-and-preferences \
+ --hook-dir=/usr/share/mmdebstrap/hooks/file-mirror-automount \
+ --hook-dir=/usr/share/mmdebstrap/hooks/maybe-merged-usr \
+ ""
+fi
+debefivm-create -k "$SSH_KEYPATH.pub" -o "$IMAGE" -r "$RELEASE" -a "$ARCHITECTURE" "$@"
+
+SSH_PORT=2222
+timeout 600s debefivm-run -s "$SSH_PORT" -i "$IMAGE" &
+set -- localhost
+debvm-waitssh -t 540 "$SSH_PORT"
+run_ssh "$@" poweroff
+wait
+
+"$(dirname "$0")/shell_interaction.expect" -- debefivm-run -i "$IMAGE"
diff --git a/tests/shell_interaction.expect b/tests/shell_interaction.expect
index 325e476..72f8676 100755
--- a/tests/shell_interaction.expect
+++ b/tests/shell_interaction.expect
@@ -1,7 +1,7 @@
#!/usr/bin/expect
set args [lrange $argv 0 end]
set timeout 300
-spawn debvm-run {*}$args
+spawn {*}$args
expect "root@testvm:~#"
set timeout 10
send "echo 6coF0JBW\$((2+3))\r"