aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml1
-rwxr-xr-xopal-ci/fetch-debian-jessie-installer.sh3
-rw-r--r--test/Makefile.check5
-rwxr-xr-xtest/run_qemu-jessie-debian-installer_boot_test.sh67
4 files changed, 75 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 1f0d7b8..1640097 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,6 +22,7 @@ env:
script:
- (cd opal-ci; ./build-qemu-powernv.sh)
+ - ./opal-ci/fetch-debian-jessie-installer.sh
- make -j4 all check ; (make clean; cd external/gard && make) ; (make clean; cd external/pflash && make)
- make clean && SKIBOOT_GCOV=1 make && SKIBOOT_GCOV=1 make check
- make clean && rm -rf builddir && mkdir builddir && make SRC=`pwd` -f ../Makefile -C builddir
diff --git a/opal-ci/fetch-debian-jessie-installer.sh b/opal-ci/fetch-debian-jessie-installer.sh
new file mode 100755
index 0000000..6140ebd
--- /dev/null
+++ b/opal-ci/fetch-debian-jessie-installer.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+wget http://ftp.debian.org/debian/dists/jessie/main/installer-ppc64el/current/images/netboot/debian-installer/ppc64el/vmlinux -O debian-jessie-vmlinux
+wget http://ftp.debian.org/debian/dists/jessie/main/installer-ppc64el/current/images/netboot/debian-installer/ppc64el/initrd.gz -O debian-jessie-initrd.gz
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;