diff options
Diffstat (limited to 'smoke-i386.yarn')
-rw-r--r-- | smoke-i386.yarn | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/smoke-i386.yarn b/smoke-i386.yarn deleted file mode 100644 index 3bfcc22..0000000 --- a/smoke-i386.yarn +++ /dev/null @@ -1,101 +0,0 @@ -# Smoke test vmdb2-built images - -This yarn file builds a basic image, and runs it under Qemu. The image -is configured to have a serial console enabled, and the scenario below -will log in as root (no password), and command the virtual machine to -power off. If this works, the image is at least minimally functional, -so the "smoke test" passes. - -More elaborate testing can be added, but smoke testing is enough for -now. - -To run this yarn file, you need to run it as root (since it needs to -build an image as root), and you need to run on a system where -qemu-system-i386 is installed. Additionally, you need to add the -following option to yarn: - EXAMPLE - --env ROOTFS_TARBALL=/path/to/rootfs/tarball - -This means vmdb2 will use the given tarball when creating an image, -and if the tarball doesn't exist yet, it will create it. This makes -testing multiple time much faster. - - SCENARIO smoke test i386 image - WHEN user runs vmdb smoke-i386.vmdb --output smoke-i386.img - THEN user can BIOS boot smoke-i386.img and power it off from root shell - - WHEN user runs vmdb smoke-uefi-i386.vmdb --output smoke-uefi-i386.img - THEN user can UEFI boot smoke-uefi-i386.img and power it off from root shell - - IMPLEMENTS WHEN user runs vmdb (\S+) --output (\S+) - "$SRCDIR/vmdb2" "$SRCDIR/$MATCH_1" \ - --output "$DATADIR/$MATCH_2" \ - --log "$DATADIR/vmdb.log" \ - --verbose \ - --rootfs-tarball "$ROOTFS_TARBALL" - - IMPLEMENTS THEN user can BIOS boot (\S+) and power it off from root shell - cd "$DATADIR" - img="$MATCH_1" - cat << EOF > run.sh - qemu-system-i386 -drive file="$img",format=raw -m 1024 -nographic - EOF - chmod a+rx run.sh - cat << EOF > expect.txt - set timeout 300 - proc abort {} { - puts "ERROR ERROR\n" - exit 1 - } - spawn ./run.sh - expect "login: " - send "root\n" - expect "# " - send "poweroff\r" - set timeout 5 - expect { - "reboot: Power down" {puts poweroffing\n} - eof abort - timeout abort - } - expect eof - wait - EOF - expect -d expect.txt > expect.out - - IMPLEMENTS THEN user can UEFI boot (\S+) and power it off from root shell - cd "$DATADIR" - img="$MATCH_1" - cat << EOF > run.sh - cp /usr/share/OVMF/OVMF32_VARS_4M.fd . - qemu-system-i386 \ - -machine q35 \ - -cpu max \ - -m 1024 \ - -drive if=pflash,format=raw,unit=0,file=/usr/share/OVMF/OVMF32_CODE_4M.secboot.fd,readonly=on \ - -drive if=pflash,format=raw,unit=1,file=OVMF32_VARS_4M.fd \ - -drive format=raw,file="$img" \ - -nographic - EOF - chmod a+rx run.sh - cat << EOF > expect.txt - set timeout 600 - proc abort {} { - puts "ERROR ERROR\n" - exit 1 - } - spawn ./run.sh - expect "login: " - send "root\n" - expect "# " - send "poweroff\r" - set timeout 5 - expect { - "reboot: Power down" {puts poweroffing\n} - eof abort - timeout abort - } - expect eof - wait - EOF - expect -d expect.txt > expect.out |