aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2015-11-26 15:01:31 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-11-26 15:16:31 +1100
commit558c819962d39ed9700a0503b1a3c11a044e6d33 (patch)
tree183002fa1a7a916d970cdf30a2b90a5628606bee /test
parentcce5b7136895080cfd27848e908f9b6a90cf8c68 (diff)
downloadskiboot-558c819962d39ed9700a0503b1a3c11a044e6d33.zip
skiboot-558c819962d39ed9700a0503b1a3c11a044e6d33.tar.gz
skiboot-558c819962d39ed9700a0503b1a3c11a044e6d33.tar.bz2
Add Debian Jessie installer boot test
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.check5
-rwxr-xr-xtest/run_qemu-jessie-debian-installer_boot_test.sh67
2 files changed, 71 insertions, 1 deletions
diff --git a/test/Makefile.check b/test/Makefile.check
index 429e380..8dc540a 100644
--- a/test/Makefile.check
+++ b/test/Makefile.check
@@ -1,4 +1,4 @@
-check: boot-check qemu-boot-check
+check: boot-check qemu-boot-check debian-jessie-boot-check
boot-check: skiboot.lid
./test/run_mambo_boot_test.sh
@@ -6,6 +6,9 @@ boot-check: skiboot.lid
qemu-boot-check: skiboot.lid
./test/run_qemu_boot_test.sh
+debian-jessie-boot-check: skiboot.lid
+ ./test/run_qemu-jessie-debian-installer_boot_test.sh
+
OP_BUILD_BOOT_CHECK=op-build-v1.0 op-build-v1.1 op-build-v1.2 op-build-v1.2.1
boot-check-%: skiboot.lid skiboot.map
diff --git a/test/run_qemu-jessie-debian-installer_boot_test.sh b/test/run_qemu-jessie-debian-installer_boot_test.sh
new file mode 100755
index 0000000..7609125
--- /dev/null
+++ b/test/run_qemu-jessie-debian-installer_boot_test.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+
+if [ -z "$QEMU_PATH" ]; then
+ QEMU_PATH=`pwd`/opal-ci/qemu/ppc64-softmmu/
+fi
+
+if [ -z "$QEMU_BINARY" ]; then
+ QEMU_BINARY="qemu-system-ppc64"
+fi
+
+if [ ! -x "$QEMU_PATH/$QEMU_BINARY" ]; then
+ echo 'Could not find executable QEMU_BINARY. Skipping hello_world test';
+ exit 0;
+fi
+
+if [ -n "$KERNEL" ]; then
+ echo 'Please rebuild skiboot without KERNEL set. Skipping boot test';
+ exit 0;
+fi
+
+if [ ! `command -v expect` ]; then
+ echo 'Could not find expect binary. Skipping boot test';
+ exit 0;
+fi
+
+if [ ! -f debian-jessie-vmlinux ]; then
+ echo 'No debian-jessie-vmlinux kernel! Run opal-ci/fetch-debian-jessie-installer.sh : Skipping test.';
+ exit 0;
+fi
+
+if [ ! -f debian-jessie-initrd.gz ]; then
+ echo 'No debian-jessie-initrd.gz! Run opal-ci/fetch-debian-jessie-installer.sh : Skipping test';
+ exit 0;
+fi
+
+T=`mktemp --tmpdir skiboot_qemu_debian-jessie-boot_test.XXXXXXXXXX`
+D=`mktemp --tmpdir debian-jessie-install.qcow2.XXXXXXXXXX`
+
+# In future we should do full install:
+# FIXME: -append "DEBIAN_FRONTEND=text locale=en_US keymap=us hostname=OPALtest domain=unassigned-domain rescue/enable=true"
+
+$QEMU_PATH/../qemu-img create -f qcow2 $D 128G 2>&1 > $T
+
+( cat <<EOF | expect
+set timeout 600
+spawn $QEMU_PATH/$QEMU_BINARY -m 2G -M powernv -kernel debian-jessie-vmlinux -initrd debian-jessie-initrd.gz -nographic -hda $D
+expect {
+timeout { send_user "\nTimeout waiting for petitboot\n"; exit 1 }
+eof { send_user "\nUnexpected EOF\n;" exit 1 }
+"Starting system log daemon"
+}
+close
+wait
+exit 0
+EOF
+) 2>&1 >> $T
+E=$?
+
+if [ $E -eq 0 ]; then
+ rm $T $D
+else
+ echo "Boot Test FAILED. Results in $T, Disk $D";
+fi
+
+echo
+exit $E;