nixosTests.zfs: Refactor
This commit is contained in:
parent
059845b11d
commit
3bb2941e73
@ -3,12 +3,10 @@
|
|||||||
pkgs ? import ../.. { inherit system config; }
|
pkgs ? import ../.. { inherit system config; }
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with import ../lib/testing.nix { inherit system pkgs; };
|
with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
makeTest = import ./make-test-python.nix;
|
|
||||||
|
|
||||||
makeZfsTest = name:
|
makeZfsTest = name:
|
||||||
{ kernelPackage ? pkgs.linuxPackages_latest
|
{ kernelPackage ? pkgs.linuxPackages_latest
|
||||||
, enableUnstable ? false
|
, enableUnstable ? false
|
||||||
@ -20,41 +18,33 @@ let
|
|||||||
maintainers = [ adisbladis ];
|
maintainers = [ adisbladis ];
|
||||||
};
|
};
|
||||||
|
|
||||||
machine = { pkgs, ... }:
|
machine = { pkgs, ... }: {
|
||||||
{
|
|
||||||
virtualisation.emptyDiskImages = [ 4096 ];
|
virtualisation.emptyDiskImages = [ 4096 ];
|
||||||
networking.hostId = "deadbeef";
|
networking.hostId = "deadbeef";
|
||||||
boot.kernelPackages = kernelPackage;
|
boot.kernelPackages = kernelPackage;
|
||||||
boot.supportedFilesystems = [ "zfs" ];
|
boot.supportedFilesystems = [ "zfs" ];
|
||||||
boot.zfs.enableUnstable = enableUnstable;
|
boot.zfs.enableUnstable = enableUnstable;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = [ pkgs.parted ];
|
||||||
parted
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
machine.succeed("modprobe zfs")
|
|
||||||
machine.succeed("zpool status")
|
|
||||||
|
|
||||||
machine.succeed("ls /dev")
|
|
||||||
|
|
||||||
machine.succeed(
|
machine.succeed(
|
||||||
|
"modprobe zfs",
|
||||||
|
"zpool status",
|
||||||
|
"ls /dev",
|
||||||
"mkdir /tmp/mnt",
|
"mkdir /tmp/mnt",
|
||||||
|
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
"parted --script /dev/vdb mklabel msdos",
|
"parted --script /dev/vdb mklabel msdos",
|
||||||
"parted --script /dev/vdb -- mkpart primary 1024M -1s",
|
"parted --script /dev/vdb -- mkpart primary 1024M -1s",
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
|
|
||||||
"zpool create rpool /dev/vdb1",
|
"zpool create rpool /dev/vdb1",
|
||||||
"zfs create -o mountpoint=legacy rpool/root",
|
"zfs create -o mountpoint=legacy rpool/root",
|
||||||
"mount -t zfs rpool/root /tmp/mnt",
|
"mount -t zfs rpool/root /tmp/mnt",
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
|
|
||||||
"umount /tmp/mnt",
|
"umount /tmp/mnt",
|
||||||
"zpool destroy rpool",
|
"zpool destroy rpool",
|
||||||
"udevadm settle"
|
"udevadm settle",
|
||||||
)
|
)
|
||||||
'' + extraTest;
|
'' + extraTest;
|
||||||
|
|
||||||
@ -69,18 +59,17 @@ in {
|
|||||||
enableUnstable = true;
|
enableUnstable = true;
|
||||||
extraTest = ''
|
extraTest = ''
|
||||||
machine.succeed(
|
machine.succeed(
|
||||||
"echo password | zpool create -o altroot=\"/tmp/mnt\" -O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1",
|
'echo password | zpool create -o altroot="/tmp/mnt" '
|
||||||
|
+ "-O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1",
|
||||||
"zfs create -o mountpoint=legacy rpool/root",
|
"zfs create -o mountpoint=legacy rpool/root",
|
||||||
"mount -t zfs rpool/root /tmp/mnt",
|
"mount -t zfs rpool/root /tmp/mnt",
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
|
|
||||||
"umount /tmp/mnt",
|
"umount /tmp/mnt",
|
||||||
"zpool destroy rpool",
|
"zpool destroy rpool",
|
||||||
"udevadm settle"
|
"udevadm settle",
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
installer = (import ./installer.nix { }).zfsroot;
|
installer = (import ./installer.nix { }).zfsroot;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user