diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/complex.nix | 20 | ||||
-rw-r--r-- | tests/default.nix | 13 | ||||
-rw-r--r-- | tests/gpt-bios-compat.nix | 10 | ||||
-rw-r--r-- | tests/lib.nix | 2 |
4 files changed, 43 insertions, 2 deletions
diff --git a/tests/complex.nix b/tests/complex.nix new file mode 100644 index 0000000..3fa861e --- /dev/null +++ b/tests/complex.nix @@ -0,0 +1,20 @@ +{ pkgs ? (import <nixpkgs> { }) +, makeDiskoTest ? (pkgs.callPackage ./lib.nix { }).makeDiskoTest +}: +makeDiskoTest { + disko-config = import ../example/complex.nix; + extraTestScript = '' + machine.succeed("test -b /dev/zroot/zfs_testvolume"); + machine.succeed("test -b /dev/md/raid1p1"); + + + machine.succeed("mountpoint /mnt"); + machine.succeed("mountpoint /mnt/zfs_fs"); + machine.succeed("mountpoint /mnt/zfs_legacy_fs"); + machine.succeed("mountpoint /mnt/ext4onzfs"); + machine.succeed("mountpoint /mnt/ext4_on_lvm"); + ''; + extraConfig = { + boot.kernelModules = [ "dm-raid" "dm-mirror" ]; + }; +} diff --git a/tests/default.nix b/tests/default.nix index 525f936..496a935 100644 --- a/tests/default.nix +++ b/tests/default.nix @@ -4,6 +4,14 @@ let lib = pkgs.lib; makeDiskoTest = (pkgs.callPackage ./lib.nix { inherit makeTest; }).makeDiskoTest; + + evalTest = name: configFile: let + disko-config = import configFile; + in { + "${name}-tsp-create" = pkgs.writeScript "create" ((pkgs.callPackage ../. { }).create disko-config); + "${name}-tsp-mount" = pkgs.writeScript "mount" ((pkgs.callPackage ../. { }).mount disko-config); + }; + allTestFilenames = builtins.map (lib.removeSuffix ".nix") ( builtins.filter @@ -11,6 +19,9 @@ let (lib.attrNames (builtins.readDir ./.)) ); - allTests = lib.genAttrs (allTestFilenames) (test: import (./. + "/${test}.nix") { inherit makeDiskoTest; }); + allTests = lib.genAttrs (allTestFilenames) (test: import (./. + "/${test}.nix") { inherit makeDiskoTest; }) // + evalTest "lvm-luks-example" ../example/config.nix // { + standalone = (pkgs.nixos [ ../example/stand-alone/configuration.nix ]).config.system.build.toplevel; + }; in allTests diff --git a/tests/gpt-bios-compat.nix b/tests/gpt-bios-compat.nix new file mode 100644 index 0000000..df35335 --- /dev/null +++ b/tests/gpt-bios-compat.nix @@ -0,0 +1,10 @@ +{ pkgs ? (import <nixpkgs> { }) +, makeDiskoTest ? (pkgs.callPackage ./lib.nix { }).makeDiskoTest +}: +makeDiskoTest { + disko-config = import ../example/gpt-bios-compat.nix; + extraTestScript = '' + machine.succeed("mountpoint /mnt"); + machine.succeed("grub-install --target=i386-pc /dev/vdb"); + ''; +} diff --git a/tests/lib.nix b/tests/lib.nix index 2ec42e6..0bcba2b 100644 --- a/tests/lib.nix +++ b/tests/lib.nix @@ -17,7 +17,7 @@ }; tsp-create = pkgs.writeScript "create" ((pkgs.callPackage ../. { }).create disko-config); tsp-mount = pkgs.writeScript "mount" ((pkgs.callPackage ../. { }).mount disko-config); - num-disks = builtins.length (builtins.filter (x: builtins.match "vd." x == [ ]) (lib.attrNames disko-config.content)); + num-disks = builtins.length (lib.attrNames disko-config.disk); in makeTest' { name = "disko"; |