parent
4c77ffb38f
commit
5249031660
@ -0,0 +1,48 @@ |
||||
import ./make-test-python.nix ({ lib, pkgs, ... }: |
||||
{ |
||||
name = "swap-partition"; |
||||
|
||||
nodes.machine = |
||||
{ config, pkgs, lib, ... }: |
||||
{ |
||||
virtualisation.useDefaultFilesystems = false; |
||||
|
||||
virtualisation.bootDevice = "/dev/vda1"; |
||||
|
||||
boot.initrd.postDeviceCommands = '' |
||||
if ! test -b /dev/vda1; then |
||||
${pkgs.parted}/bin/parted --script /dev/vda -- mklabel msdos |
||||
${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary 1MiB -250MiB |
||||
${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary -250MiB 100% |
||||
sync |
||||
fi |
||||
|
||||
FSTYPE=$(blkid -o value -s TYPE /dev/vda1 || true) |
||||
if test -z "$FSTYPE"; then |
||||
${pkgs.e2fsprogs}/bin/mke2fs -t ext4 -L root /dev/vda1 |
||||
${pkgs.util-linux}/bin/mkswap --label swap /dev/vda2 |
||||
fi |
||||
''; |
||||
|
||||
virtualisation.fileSystems = { |
||||
"/" = { |
||||
device = "/dev/disk/by-label/root"; |
||||
fsType = "ext4"; |
||||
}; |
||||
}; |
||||
|
||||
swapDevices = [ |
||||
{ |
||||
device = "/dev/disk/by-label/swap"; |
||||
} |
||||
]; |
||||
}; |
||||
|
||||
testScript = '' |
||||
machine.wait_for_unit("multi-user.target") |
||||
|
||||
with subtest("Swap is active"): |
||||
# Doesn't matter if the numbers reported by `free` are slightly off due to unit conversions. |
||||
machine.succeed("free -h | grep -E 'Swap:\s+2[45][0-9]Mi'") |
||||
''; |
||||
}) |
Loading…
Reference in new issue