diff options
Diffstat (limited to 'tests/default.nix')
-rw-r--r-- | tests/default.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/default.nix b/tests/default.nix new file mode 100644 index 0000000..c7c15a5 --- /dev/null +++ b/tests/default.nix @@ -0,0 +1,28 @@ +{ makeTest ? import <nixpkgs/nixos/tests/make-test-python.nix> +, eval-config ? import <nixpkgs/nixos/lib/eval-config.nix> +, pkgs ? (import <nixpkgs> { }) +}@args: +let + lib = pkgs.lib; + makeDiskoTest = (pkgs.callPackage ./lib.nix { inherit makeTest eval-config; }).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 + (x: lib.hasSuffix ".nix" x && x != "default.nix" && x != "lib.nix") + (lib.attrNames (builtins.readDir ./.)) + ); + + allTests = lib.genAttrs (allTestFilenames) (test: import (./. + "/${test}.nix") { inherit makeDiskoTest pkgs; }) // + evalTest "lvm-luks-example" ../example/config.nix // { + standalone = (pkgs.nixos [ ../example/stand-alone/configuration.nix ]).config.system.build.toplevel; + }; +in +allTests |