1{ system ? builtins.currentSystem }: 2 3with import ../lib/testing.nix { inherit system; }; 4with import ../lib/qemu-flags.nix; 5with pkgs.lib; 6 7let 8 9 iso = 10 (import ../lib/eval-config.nix { 11 inherit system; 12 modules = 13 [ ../modules/installer/cd-dvd/installation-cd-minimal.nix 14 ../modules/testing/test-instrumentation.nix 15 { key = "serial"; } 16 ]; 17 }).config.system.build.isoImage; 18 19 makeBootTest = name: machineConfig: 20 makeTest { 21 inherit iso; 22 name = "boot-" + name; 23 nodes = { }; 24 testScript = 25 '' 26 my $machine = createMachine({ ${machineConfig}, qemuFlags => '-m 768' }); 27 $machine->start; 28 $machine->waitForUnit("multi-user.target"); 29 $machine->shutdown; 30 ''; 31 }; 32in { 33 biosCdrom = makeBootTest "bios-cdrom" '' 34 cdrom => glob("${iso}/iso/*.iso") 35 ''; 36 biosUsb = makeBootTest "bios-usb" '' 37 usb => glob("${iso}/iso/*.iso") 38 ''; 39 uefiCdrom = makeBootTest "uefi-cdrom" '' 40 cdrom => glob("${iso}/iso/*.iso"), 41 bios => '${pkgs.OVMF}/FV/OVMF.fd' 42 ''; 43 uefiUsb = makeBootTest "uefi-usb" '' 44 usb => glob("${iso}/iso/*.iso"), 45 bios => '${pkgs.OVMF}/FV/OVMF.fd' 46 ''; 47 } 48