summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/complex.nix20
-rw-r--r--tests/default.nix13
-rw-r--r--tests/gpt-bios-compat.nix10
-rw-r--r--tests/lib.nix2
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";