====== Daniel Verkamp: Automated regression testing ====== ===== Journal Week 7 ===== ==== Monday, July 6 ==== Added support for saving and loading snapshots in [[http://git.etherboot.org/?p=people/dverkamp/gpxe.git;a=shortlog;h=refs/heads/testsuite|testsuite]]; this will allow semi-automated testing, as discussed with mcb30: * Install server components like a DHCP server and iSCSI target (manually for now) in a VM and save its state. * Using the framework provided by the testsuite Perl modules, load the server VM, as well as a test VM using a gPXE image from the tree. * Connect the VMs to a network and allow them to run (eventually with automated collection of the results). ==== Tuesday, July 7 ==== Built a simple test server VM (Debian with DHCPD and Apache), saved a snapshot (named "server3" in the following script) and used it to boot a test VM with the testsuite framework: #!/usr/bin/perl -w use Test::Network::Vde; use Test::Machine::Qemu; use strict; use warnings; my $server = new Test::Machine::Qemu; my $client = new Test::Machine::Qemu; my $network = new Test::Network::Vde; $server->hdd ( "server.hd" ); $server->nic ( { type => "pcnet", macaddr => "52:54:00:12:34:57" } ); $server->network ( $network ); $client->fdd ( "../bin/rtl8139.dsk" ); $client->nic ( { type => "rtl8139", macaddr => "52:54:00:12:34:56" } ); $client->network ( $network ); $server->load_snapshot ( "server3" ); $server->run(); $client->run(); ;