diff options
author | Jörg Thalheim <Mic92@users.noreply.github.com> | 2022-09-04 12:11:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-04 12:11:54 +0100 |
commit | fbc08430d28a65eb3e783feb892659d32abd4551 (patch) | |
tree | cba2f7972cb82ff445e68383a46927c8a25ec763 /tests | |
parent | adf901d58155ca268d15351fff164d3ef38a0890 (diff) | |
parent | 68f950bf2045573b03cd0e1ceebe7131ea999873 (diff) |
Merge pull request #31 from nix-community/types
Reimplement using types
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"; |